UNPKG

wonder.js

Version:
58 lines (52 loc) 2.66 kB
'use strict'; var Js_option = require("bs-platform/lib/js/js_option.js"); var Caml_option = require("bs-platform/lib/js/caml_option.js"); var ArrayService$Wonderjs = require("../../../atom/ArrayService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var CreateScriptMainService$Wonderjs = require("./CreateScriptMainService.js"); var IsActiveScriptMainService$Wonderjs = require("./IsActiveScriptMainService.js"); var OperateScriptDataMainService$Wonderjs = require("./OperateScriptDataMainService.js"); function _getData(sourceComponent, state) { return /* tuple */[ IsActiveScriptMainService$Wonderjs.getIsActive(sourceComponent, state), OperateScriptDataMainService$Wonderjs.getScriptAllEventFunctionData(sourceComponent, state), Js_option.andThen((function (allAttributes) { return Caml_option.some(OperateScriptDataMainService$Wonderjs.resetScriptAllAttributesFieldValue(allAttributes)); }), OperateScriptDataMainService$Wonderjs.getScriptAllAttributes(sourceComponent, state)) ]; } function _setData(targetComponent, param, state) { var allAttributesOpt = param[2]; var allEventFunctionDataOpt = param[1]; var isActiveOpt = param[0]; var state$1 = isActiveOpt !== undefined ? IsActiveScriptMainService$Wonderjs.setIsActive(targetComponent, isActiveOpt, state) : state; var state$2 = allEventFunctionDataOpt !== undefined ? OperateScriptDataMainService$Wonderjs.setScriptAllEventFunctionData(targetComponent, Caml_option.valFromOption(allEventFunctionDataOpt), state$1) : state$1; if (allAttributesOpt !== undefined) { return OperateScriptDataMainService$Wonderjs.setScriptAllAttributes(targetComponent, Caml_option.valFromOption(allAttributesOpt), state$2); } else { return state$2; } } function handleCloneComponent(sourceComponent, countRangeArr, state) { var data = _getData(sourceComponent, state); var match = ArrayService$WonderCommonlib.reduceOneParam((function (param, param$1) { var match = CreateScriptMainService$Wonderjs.create(param[0]); var index = match[1]; var state = _setData(index, data, match[0]); return /* tuple */[ state, ArrayService$Wonderjs.push(index, param[1]) ]; }), /* tuple */[ state, /* array */[] ], countRangeArr); return /* tuple */[ match[0], match[1] ]; } exports._getData = _getData; exports._setData = _setData; exports.handleCloneComponent = handleCloneComponent; /* ArrayService-Wonderjs Not a pure module */