@ibiz-template/runtime 0.6.0-alpha.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index.esm.js +67 -46
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
  4. package/out/controller/common/editor/editor.controller.js +12 -0
  5. package/out/controller/control/tree/tree.controller.js +2 -2
  6. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.d.ts.map +1 -1
  7. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.js +1 -7
  8. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts.map +1 -1
  9. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.js +1 -8
  10. package/out/interface/controller/state/control/i-tree.state.d.ts +14 -0
  11. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  12. package/out/interface/controller/state/view/i-pickup-tree-view.state.d.ts +7 -0
  13. package/out/interface/controller/state/view/i-pickup-tree-view.state.d.ts.map +1 -1
  14. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  15. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +8 -1
  16. package/out/service/vo/tree-node-data/tree-node-data.d.ts +2 -0
  17. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  18. package/out/service/vo/tree-node-data/tree-node-data.js +8 -0
  19. package/out/utils/index.d.ts +1 -1
  20. package/out/utils/index.d.ts.map +1 -1
  21. package/out/utils/index.js +1 -1
  22. package/out/utils/open-redirect-view/open-redirect-view.d.ts +17 -0
  23. package/out/utils/open-redirect-view/open-redirect-view.d.ts.map +1 -1
  24. package/out/utils/open-redirect-view/open-redirect-view.js +51 -25
  25. package/package.json +10 -7
  26. package/src/controller/common/editor/editor.controller.ts +12 -0
  27. package/src/controller/control/tree/tree.controller.ts +2 -2
  28. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.ts +1 -11
  29. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.ts +1 -12
  30. package/src/interface/controller/state/control/i-tree.state.ts +16 -0
  31. package/src/interface/controller/state/view/i-pickup-tree-view.state.ts +8 -0
  32. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +8 -1
  33. package/src/service/vo/tree-node-data/tree-node-data.ts +13 -0
  34. package/src/utils/index.ts +1 -0
  35. package/src/utils/open-redirect-view/open-redirect-view.ts +55 -23
package/dist/index.esm.js CHANGED
@@ -1136,6 +1136,38 @@ function getUIActionItemsByActionLevel(toolbar, actionLevel) {
1136
1136
  }
1137
1137
 
1138
1138
  // src/utils/open-redirect-view/open-redirect-view.ts
1139
+ function parseViewProtocol(urlStr) {
1140
+ const url = new URL(urlStr);
1141
+ const context = {};
1142
+ const params = {};
1143
+ let viewId = "";
1144
+ if (url.searchParams.size > 0) {
1145
+ const navCtx = url.searchParams.get("srfnavctx");
1146
+ if (navCtx) {
1147
+ try {
1148
+ Object.assign(context, JSON.parse(navCtx));
1149
+ } catch (error) {
1150
+ ibiz.log.error("\u91CD\u5B9A\u5411[".concat(urlStr, "] \u4E2D srfnavctx \u53C2\u6570\u89E3\u6790\u5931\u8D25"), error);
1151
+ }
1152
+ url.searchParams.delete("srfnavctx");
1153
+ }
1154
+ url.searchParams.forEach((value, _key) => {
1155
+ params[_key] = value;
1156
+ });
1157
+ }
1158
+ const rdTagItems = url.pathname.replace("//", "").split("/");
1159
+ const [appOrViewTag, viewTag] = rdTagItems;
1160
+ if (viewTag) {
1161
+ viewId = viewTag;
1162
+ } else {
1163
+ viewId = appOrViewTag;
1164
+ }
1165
+ return {
1166
+ context,
1167
+ params,
1168
+ viewId
1169
+ };
1170
+ }
1139
1171
  async function openRedirectView(appView, context, params = {}, opts = {}) {
1140
1172
  return openDERedirectView(
1141
1173
  appView,
@@ -1241,28 +1273,10 @@ async function getDERedirectToView(appView, context, params = {}, opts = {}) {
1241
1273
  const rdTag = await calcDERdTag(entity, appView, params, curData);
1242
1274
  let viewId = "";
1243
1275
  if (rdTag.startsWith("view://")) {
1244
- const url = new URL(rdTag);
1245
- if (url.searchParams.size > 0) {
1246
- const navCtx = url.searchParams.get("srfnavctx");
1247
- if (navCtx) {
1248
- try {
1249
- Object.assign(context, JSON.parse(navCtx));
1250
- } catch (error) {
1251
- ibiz.log.error("\u91CD\u5B9A\u5411[".concat(rdTag, "] \u4E2D srfnavctx \u53C2\u6570\u89E3\u6790\u5931\u8D25"), error);
1252
- }
1253
- url.searchParams.delete("srfnavctx");
1254
- }
1255
- url.searchParams.forEach((value, _key) => {
1256
- params[_key] = value;
1257
- });
1258
- }
1259
- const rdTagItems = url.pathname.replace("//", "").split("/");
1260
- const [appOrViewTag, viewTag] = rdTagItems;
1261
- if (viewTag) {
1262
- viewId = viewTag;
1263
- } else {
1264
- viewId = appOrViewTag;
1265
- }
1276
+ const result = parseViewProtocol(rdTag);
1277
+ Object.assign(context, result.context);
1278
+ Object.assign(params, result.params);
1279
+ viewId = result.viewId;
1266
1280
  } else {
1267
1281
  const rdTagItems = rdTag.split(":");
1268
1282
  const wfRdTag = rdTagItems.length === 2 ? rdTag : rdTagItems.slice(0, 2).join(":");
@@ -11595,6 +11609,7 @@ var TreeNodeData = class {
11595
11609
  this._leaf = opts.leaf === true;
11596
11610
  this._parent = parentNodeData;
11597
11611
  this._nodeType = model.treeNodeType;
11612
+ this._disableSelect = model.disableSelect === true;
11598
11613
  if (this._parent) {
11599
11614
  this._context = { ...this._parent._context };
11600
11615
  }
@@ -11605,6 +11620,13 @@ var TreeNodeData = class {
11605
11620
  this._params = { ...opts.navParams };
11606
11621
  }
11607
11622
  this._nodeId = model.id;
11623
+ Object.defineProperty(this, "srfnodeid", {
11624
+ get() {
11625
+ return this._id;
11626
+ },
11627
+ enumerable: true,
11628
+ configurable: true
11629
+ });
11608
11630
  }
11609
11631
  /**
11610
11632
  * 计算节点图标
@@ -11662,7 +11684,14 @@ var TreeCodeListNodeData = class extends TreeNodeData {
11662
11684
  // src/service/vo/tree-node-data/tree-data-set-node-data.ts
11663
11685
  import { updateKeyDefine } from "@ibiz-template/core";
11664
11686
  import { clone as clone16, isNil as isNil14 } from "ramda";
11665
- var CloneExcludeKeys = ["_id", "_value", "_text", "_deData", "clone"];
11687
+ var CloneExcludeKeys = [
11688
+ "_id",
11689
+ "srfnodeid",
11690
+ "_value",
11691
+ "_text",
11692
+ "_deData",
11693
+ "clone"
11694
+ ];
11666
11695
  var TreeDataSetNodeData = class _TreeDataSetNodeData extends TreeNodeData {
11667
11696
  constructor(model, parentNodeData, opts) {
11668
11697
  var _a, _b;
@@ -15150,6 +15179,17 @@ var EditorController = class {
15150
15179
  this.style.height = "".concat(height, "px");
15151
15180
  }
15152
15181
  }
15182
+ if (this.model.cssStyle) {
15183
+ const stylesObject = {};
15184
+ const stylesArray = this.model.cssStyle.split(";").filter(Boolean);
15185
+ stylesArray.forEach((style) => {
15186
+ const [key, value] = style.split(":");
15187
+ if (key && value) {
15188
+ stylesObject[key.trim()] = value.trim();
15189
+ }
15190
+ Object.assign(this.style, stylesObject);
15191
+ });
15192
+ }
15153
15193
  if (this.model.editorItems) {
15154
15194
  this.model.editorItems = this.model.editorItems.filter(
15155
15195
  (item) => item.id !== this.model.id
@@ -29650,7 +29690,7 @@ var TreeController = class extends MDControlController {
29650
29690
  return;
29651
29691
  }
29652
29692
  }
29653
- if (this.state.singleSelect) {
29693
+ if (this.state.singleSelect && !nodeData._disableSelect) {
29654
29694
  const { selectedData } = this.state;
29655
29695
  const filterArr = selectedData.filter((item) => item._id !== nodeData._id);
29656
29696
  if (filterArr.length === selectedData.length) {
@@ -32076,17 +32116,7 @@ var TreeGridExNodeColumnController = class {
32076
32116
  */
32077
32117
  async onActionClick(detail, row, event) {
32078
32118
  const actionId = detail.uiactionId;
32079
- await UIActionUtil.execAndResolved(
32080
- actionId,
32081
- {
32082
- context: this.context,
32083
- params: this.params,
32084
- data: [row.data],
32085
- view: this.treeGrid.view,
32086
- event
32087
- },
32088
- detail.appId
32089
- );
32119
+ await this.treeGrid.doUIAction(actionId, row.data, event, detail.appId);
32090
32120
  }
32091
32121
  /**
32092
32122
  * 值格式化
@@ -32335,17 +32365,7 @@ var TreeGridExUAColumnController = class extends TreeGridExColumnController {
32335
32365
  */
32336
32366
  async onActionClick(detail, row, event) {
32337
32367
  const actionId = detail.uiactionId;
32338
- await UIActionUtil.execAndResolved(
32339
- actionId,
32340
- {
32341
- context: this.context,
32342
- params: this.params,
32343
- data: [row.data],
32344
- view: this.treeGrid.view,
32345
- event
32346
- },
32347
- detail.appId
32348
- );
32368
+ await this.treeGrid.doUIAction(actionId, row.data, event, detail.appId);
32349
32369
  }
32350
32370
  gridStateNotify(row, state) {
32351
32371
  super.gridStateNotify(row, state);
@@ -36462,6 +36482,7 @@ export {
36462
36482
  openRedirectView,
36463
36483
  parseFilters,
36464
36484
  parseUserParams,
36485
+ parseViewProtocol,
36465
36486
  presetAppCounterProvider,
36466
36487
  presetDEMethodProvider,
36467
36488
  presetUIActionProvider,