From cb63435439db0f5b9451e23e1c970a60c7c6a71f Mon Sep 17 00:00:00 2001 From: javalikescript Date: Wed, 1 Jan 2025 17:51:07 +0100 Subject: [PATCH] Add view script --- extensions/web-scripts/view-init.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/extensions/web-scripts/view-init.js b/extensions/web-scripts/view-init.js index 6cfaf2f..392eb0c 100644 --- a/extensions/web-scripts/view-init.js +++ b/extensions/web-scripts/view-init.js @@ -1,5 +1,25 @@ define(['./config.json', './view.xml'], function(config, viewXml) { + function chainInitFn(f1, f2) { + return function(a) { f1(a); f2(a); }; + } + + var initFn = function() {}; + for(;;) { + var i = viewXml.indexOf('', i); + if (j < 0) { + break; + } + var src = viewXml.substring(i + 8, j); + viewXml = viewXml.substring(0, i) + viewXml.substring(j + 9); + var fn = Function('view', '"use strict"; ' + src); + initFn = chainInitFn(initFn, fn); + } + var viewTemplate = [ '', viewXml, @@ -91,4 +111,6 @@ define(['./config.json', './view.xml'], function(config, viewXml) { addPageComponent(viewVue, config.icon); + initFn(viewVue); + }); \ No newline at end of file