![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/html/ |
Upload File : |
absol.form.PluginManager.push(absol.form.R.PLUGINS.PROJECT_EXPLORER, absol.form.PluginProjectExplore); absol.form.PluginManager.push(absol.form.R.PLUGINS.LOAD_CONTENT_DATA, absol.form.PluginLoadContentData); absol.form.PluginManager.push(absol.form.R.PLUGINS.SAVE_CONTENT_DATA, absol.form.PluginSaveContentData); absol.form.PluginManager.push(absol.form.R.PLUGINS.SAVE_AS_CONTENT_DATA, absol.form.PluginSaveAsContentData); absol.form.PluginManager.push(absol.form.R.PLUGINS.SAVE_AS_SYSTEM, absol.form.PluginSaveAsSystemContentData); absol.form.PluginManager.push(absol.form.R.PLUGINS.COMPONENT_PICKER_VIEW, absol.form.PluginFormComponent); absol.form.PluginManager.push(absol.form.R.PLUGINS.BUILD_COMPONENT, absol.form.PluginBuildComponent); hr.input_form.fragmentClasses = { staticLoaded: false }; //load những class viết trực tiếp từ js //dùng để thông báo các sự kiện thay đổi dữ liệu, cập nhật hiển thị hr.input_form.emittor = absol.form.emittor; // hr.input_form hr.input_form.generateOperateFunctionOfArray = function (typelist) { var handleCmdInsertRow; return handleCmdInsertRow; } hr.input_form.checkFormVersion = function(code, callbackfunc) { var checkInputForm = Thread.create({ extcode: EncodingClass.exportCode() + "\n" + code, modules: { data_module: null, // form_module: form_module, generateDefaultLinearInputForm: form_module.generateDefaultLinearInputForm, generateDefaultRelativeInputForm: form_module.generateDefaultRelativeInputForm, getNameDictOfTypelist: form_module.getNameDictOfTypelist, makeLayoutFormDictionary: form_module.makeLayoutFormDictionary, makeCircuitFormDictionary: form_module.makeCircuitFormDictionary, convertLayoutInputFormToNewVersion: form_module.convertLayoutInputFormToNewVersion, convertCircuitInputFormToNewVersion: form_module.convertCircuitInputFormToNewVersion, form_module: { type2inputform: form_module.type2inputform } }, func: function(params) { params.data = EncodingClass.pack.fromUint8Array(params.data); data_module = params.data.read(); params.data.terminate(); var latestVersionForm = {}; var formDict = {}; data_module.input_forms.items.forEach((cur) => { formDict[cur.id] = cur; }); var typeDict = {}; data_module.typelists.items.forEach((cur, idx) => { typeDict[cur.id] = idx; }); data_module.input_forms.items.forEach(function (form) { var t_idx = typeDict[form.typeid]; if (!form.content.layout) return; if (t_idx === undefined) { return; } if ( data_module.typelists.items[t_idx].type == "structure" || data_module.typelists.items[t_idx].type == "extends_structure" || data_module.typelists.items[t_idx].type2 == "structure" || data_module.typelists.items[t_idx].type2 == "extends_structure" ) { form.content.layout.attributes.typeId = form.typeid; form.content.layout.attributes.formName = form.name; if (form.content.layout.attributes.formVersion != form_module.formVersion){ if (!latestVersionForm[form.typeid]) { var t_form; if (form.content.layout.tag == "LinearLayout") t_form = form_module.generateDefaultLinearInputForm({}, form.typeid, data_module.typelists.items[t_idx]); else t_form = form_module.generateDefaultRelativeInputForm({}, form.typeid, data_module.typelists.items[t_idx]); latestVersionForm[form.typeid] = { layout: {}, circuit: { blocks: {}, lines: {} } }; if (t_form !== false) { var nameDict = {}; form_module.getNameDictOfTypelist(data_module.typelists.items[t_idx].content, nameDict); form_module.makeLayoutFormDictionary(t_form.layout, nameDict, latestVersionForm[form.typeid]); form_module.makeCircuitFormDictionary(t_form.circuit, latestVersionForm[form.typeid]); } else { ModalElement.close(); } } form_module.convertLayoutInputFormToNewVersion(form.content.layout.children, latestVersionForm[form.typeid]); form_module.convertCircuitInputFormToNewVersion(form.content.circuit, latestVersionForm[form.typeid]); var t_dict = {}; form.content.circuit.blocks.forEach(function(elt){ if (!t_dict[elt.attributes.id]) { t_dict[elt.attributes.id] = elt; } else { if (!t_dict[elt.attributes.id].attributes.permissions) { t_dict[elt.attributes.id] = elt; } } }); form.content.circuit.blocks = Object.values(t_dict); t_dict = {}; form.content.circuit.lines.forEach(function(elt){ var text = elt.u + elt.uPin + elt.v + elt.vPin; if (!t_dict[text]) { t_dict[text] = elt; } else { if (!t_dict[text].attributes.permissions) { t_dict[text] = elt; } } }); form.content.circuit.lines = Object.values(t_dict); } } }); data_module = EncodingClass.pack.fromVariable(data_module); params.data = data_module.toUint8Array(); data_module.terminate(); tranferList = [params.data.buffer]; return { status: "success", retval: params.data }; }, callbackfunc: callbackfunc }); var packData = EncodingClass.pack.fromVariable({ typelists: data_module.typelists, input_forms: data_module.input_forms }); var data = packData.toUint8Array(); packData.terminate(); // var tranferList = data.toUint8Array(); checkInputForm.call({data: data}, [data.buffer]); } hr.input_form.loadFormConstructorToAssembler = function () { return new Promise(function(rs, rj){ var latestVersionForm = {}; var formDict = {}; var caculateFunc = function(){ data_module.input_forms.items.forEach((cur) => { formDict[cur.id] = cur; }); data_module.input_forms.items.forEach(function (form) { var t_idx = data_module.typelists.getIndex(form.typeid); if (!form.content.layout) return; if (t_idx == -1) { return; } // if ( // data_module.typelists.items[t_idx].type == "structure" // || data_module.typelists.items[t_idx].type == "extends_structure" // || data_module.typelists.items[t_idx].type2 == "structure" // || data_module.typelists.items[t_idx].type2 == "extends_structure" // ) { // form.content.layout.attributes.typeId = form.typeid; // form.content.layout.attributes.formName = form.name; // if (form.content.layout.attributes.formVersion != form_module.formVersion){ // if (!latestVersionForm[form.typeid]) { // var t_form; // if (form.content.layout.tag == "LinearLayout") t_form = form_module.generateDefaultLinearInputForm({}, form.typeid, data_module.typelists.items[t_idx]); // else t_form = form_module.generateDefaultRelativeInputForm({}, form.typeid, data_module.typelists.items[t_idx]); // latestVersionForm[form.typeid] = { // layout: {}, // circuit: { // blocks: {}, // lines: {} // } // }; // if (t_form !== false) { // var nameDict = {}; // form_module.getNameDictOfTypelist(data_module.typelists.items[t_idx].content, nameDict); // form_module.makeLayoutFormDictionary(t_form.layout, nameDict, latestVersionForm[form.typeid]); // form_module.makeCircuitFormDictionary(t_form.circuit, latestVersionForm[form.typeid]); // } // else { // ModalElement.close(); // } // } // form_module.convertLayoutInputFormToNewVersion(form.content.layout.children, latestVersionForm[form.typeid]); // form_module.convertCircuitInputFormToNewVersion(form.content.circuit, latestVersionForm[form.typeid]); // var t_dict = {}; // form.content.circuit.blocks.forEach(function(elt){ // if (!t_dict[elt.attributes.id]) { // t_dict[elt.attributes.id] = elt; // } // else { // if (!t_dict[elt.attributes.id].attributes.permissions) { // t_dict[elt.attributes.id] = elt; // } // } // }); // form.content.circuit.blocks = Object.values(t_dict); // // t_dict = {}; // form.content.circuit.lines.forEach(function(elt){ // var text = elt.u + elt.uPin + elt.v + elt.vPin; // if (!t_dict[text]) { // t_dict[text] = elt; // } // else { // if (!t_dict[text].attributes.permissions) { // t_dict[text] = elt; // } // } // }); // form.content.circuit.lines = Object.values(t_dict); // } // } var constructor = absol.form.makeFmFragmentConstructor({ tag: '' + form.id, contentViewData: form.content }); if ((data_module.typelists.items[t_idx]) && (data_module.typelists.items[t_idx].type == "array" || data_module.typelists.items[t_idx].type2 == "array")) { form.content.layout.attributes.typeId = form.typeid; form_module.attachOnCreatedCb(form.content.layout); constructor.prototype.onCreated = function () { var myArrayComp = this.findViewByName(form.typeid.toString()); if (!myArrayComp) { var t_id = data_module.typelists.items[t_idx].content.typeof; myArrayComp = this.findViewByName("$value$"); } myArrayComp.on('cmd_insert_row', this.handleCmdInsertRow.bind(this)); myArrayComp.on('cmd_remove_row', this.handleCmdRemoveRow.bind(this)); }; constructor.prototype.handleCmdRemoveRow = function (event) { event.accept(new Promise(function (resolve) { ModalElement.question({ title: LanguageModule.text("txt_warning"), message: "Bạn có muốn xóa không?", onclick: function (sel) { if (sel == 0) { resolve(true); } else { resolve(false); } } }); })) }; constructor.prototype.handleCmdInsertRow = function (event) { var shareData = this.getContext("shareData"); var orgid; if (shareData) { orgid = shareData.orgid; } if (orgid && form.typeid == -25) event.resolve({type_select_position_orgid: {value: orgid}}); else event.resolve({}); }; } absol.form.AssemblerInstance.addConstructor(constructor); form.FragmentClass = constructor; }); rs("success"); }; caculateFunc(); }); }; hr.input_form.init = function (host) { while (data_module.pendingData.status != "success") { setTimeout(function(){ hr.input_form.init(host); }, 1000) return; } if (window.ABSOL_DEBUG) console.trace(host); host.database = {}; host.taskName = "input"; hr.input_form.loadFormConstructorToAssembler().then(function(result){ data_module.input_forms.items.sort(function (a, b) { if (absol.string.nonAccentVietnamese(a.name).toLowerCase() < absol.string.nonAccentVietnamese(b.name).toLowerCase()) return -1; if (absol.string.nonAccentVietnamese(a.name).toLowerCase() > absol.string.nonAccentVietnamese(b.name).toLowerCase()) return 1; return 0; }); hr.input_form.emittor.emit('form_load', { formList: data_module.input_forms.items }); // Tạo form và gắn form // Plugin viết trong file FunctionEditor.js // Các hàm thêm sửa xóa form viết trong file form_module.js host.formEditor = new absol.form.FormEditor({downloadPrefixFileName: "input_"}); host.formEditor.getView() .addStyle({ width: '100%', height: '100%' }).addTo(host.holder); host.formEditor.setContext("HOST", host); host.formEditor.start(); host.holder.on('deactive', function () { host.formEditor.pause(); }); host.holder.on('active', function () { host.formEditor.start(); }); host.holder.on('remove', function () { host.formEditor.destroy(); }); }); // var input_forms = host.funcs.loadFormList(); // var typelists = data_module.loadTypeList(); // Promise.all( // [ // input_forms, typelists, // form_module.defaultInputFormForPrimitiveType() // ] // ).then(function (result) { // var content = { // input_forms: result[0].concat(result[2]), // typelists: result[1] // }; // data_module.typelists.items = content.typelists; // data_module.input_forms.items = content.input_forms; // contentModule.decodeContent(data_module.typelists.items, function(){ // contentModule.decodeContent(data_module.input_forms.items, function () { // // }); // }); // // }, function (rj_mes) { // console.log(rj_mes); // }); }