bruce-models 2.5.2 → 2.5.3

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.
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Plugin = void 0;
13
13
  const api_1 = require("../api/api");
14
14
  const environment_1 = require("../environment");
15
+ const object_utils_1 = require("../util/object-utils");
15
16
  var Plugin;
16
17
  (function (Plugin) {
17
18
  function GetCacheKey(pluginId) {
@@ -86,7 +87,7 @@ var Plugin;
86
87
  }
87
88
  Plugin.GetList = GetList;
88
89
  function GetLoadUrl(params) {
89
- let { api, pluginId, req, cacheKey } = params;
90
+ let { api, pluginId, cacheKey } = params;
90
91
  if (!api) {
91
92
  api = environment_1.ENVIRONMENT.Api().GetBruceApi();
92
93
  }
@@ -98,5 +99,86 @@ var Plugin;
98
99
  };
99
100
  }
100
101
  Plugin.GetLoadUrl = GetLoadUrl;
102
+ /**
103
+ * Returns a run function to call that'll load a plugin within your provided container element.
104
+ * The run function will return a dispose function to call to remove the plugin.
105
+ * @param params
106
+ * @returns
107
+ */
108
+ function GetRunFunction(params) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ let { containerId, container, pluginParams, pluginId, plugin, api } = params;
111
+ if (!containerId && container) {
112
+ containerId = container.id;
113
+ if (!containerId) {
114
+ containerId = object_utils_1.ObjectUtils.UId();
115
+ container.id = containerId;
116
+ }
117
+ }
118
+ if (!plugin && pluginId) {
119
+ plugin = (yield Plugin.Get({
120
+ pluginId,
121
+ api
122
+ })).plugin;
123
+ }
124
+ const { indexFileUrl } = GetLoadUrl({
125
+ api,
126
+ pluginId,
127
+ cacheKey: plugin.Version
128
+ });
129
+ let fileContent = yield fetch(indexFileUrl).then((res) => res.text());
130
+ const start = fileContent.indexOf("{");
131
+ const end = fileContent.lastIndexOf("}");
132
+ fileContent = fileContent.substring(start + 1, end);
133
+ const paramsId = object_utils_1.ObjectUtils.UId();
134
+ window[paramsId] = pluginParams ? pluginParams : {};
135
+ const disposeId = object_utils_1.ObjectUtils.UId();
136
+ let script = `
137
+ function run() {
138
+ ${fileContent}
139
+
140
+ const paramsId = "${paramsId}";
141
+ const containerId = "${container.id}";
142
+ let container;
143
+ if (containerId) {
144
+ container = document.getElementById("${container.id}");
145
+ }
146
+ {TEMPLATE_CODE}
147
+ const params = window["${paramsId}"];
148
+
149
+ window["${disposeId}"] = Run({
150
+ container,
151
+ pluginParams: params
152
+ });
153
+ }
154
+ run();
155
+ `;
156
+ if (script.includes("var template")) {
157
+ script = script.replace("{TEMPLATE_CODE}", `
158
+ if (container && template) {
159
+ container.innerHTML = template;
160
+ }
161
+ `);
162
+ }
163
+ else {
164
+ script = script.replace("{TEMPLATE_CODE}", "");
165
+ }
166
+ return {
167
+ run: () => {
168
+ const eval2 = eval;
169
+ eval2(script);
170
+ // Ensure a function is returned, even if the plugin is not configured properly to return one.
171
+ if (!window[disposeId] || typeof window[disposeId] !== "function") {
172
+ window[disposeId] = () => {
173
+ console.warn("Plugin called to be disposed but no dispose function was found.");
174
+ };
175
+ }
176
+ const callDispose = window[disposeId];
177
+ return () => callDispose();
178
+ }
179
+ };
180
+ });
181
+ }
182
+ Plugin.GetRunFunction = GetRunFunction;
101
183
  })(Plugin = exports.Plugin || (exports.Plugin = {}));
102
184
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugin/plugin.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,23 @@ export declare namespace Plugin {
32
32
  api?: BruceApi.Api;
33
33
  pluginId: string;
34
34
  cacheKey?: number | string;
35
- req?: Api.IReqParams;
36
35
  }): {
37
36
  indexFileUrl: string;
38
37
  };
38
+ /**
39
+ * Returns a run function to call that'll load a plugin within your provided container element.
40
+ * The run function will return a dispose function to call to remove the plugin.
41
+ * @param params
42
+ * @returns
43
+ */
44
+ function GetRunFunction(params: {
45
+ containerId?: string;
46
+ container?: HTMLElement;
47
+ pluginParams?: any;
48
+ api?: BruceApi.Api;
49
+ pluginId?: string;
50
+ plugin?: Plugin.IPlugin;
51
+ }): Promise<{
52
+ run: () => () => void;
53
+ }>;
39
54
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "2.5.2",
3
+ "version": "2.5.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",