magtool 1.3.7 → 1.3.9

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.
package/README.1.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # magtool
2
2
 
3
+ 1.3.9
4
+
5
+ init 为dev环境热更前置判断,
6
+
7
+ 1.3.8
8
+
9
+ cps支持default和结构引入
10
+ initOptions改为同步,且挂载时检测是否存在globalThis.config,不存在则抛出错误
11
+
3
12
  1.3.5
4
13
  initLang({
5
14
  theme: 'light', // 选填
@@ -1,12 +1,12 @@
1
1
  const v = (e) => {
2
2
  const { age: t } = e || {};
3
- let n, r;
3
+ let n, a;
4
4
  if (t != null && t.included) {
5
- const { minAge: o, maxAge: a } = t.included[0] || {};
6
- o ? n = o : n = "all", a ? r = a : r = "all";
5
+ const { minAge: o, maxAge: r } = t.included[0] || {};
6
+ o ? n = o : n = "all", r ? a = r : a = "all";
7
7
  }
8
- return r === "all" ? n === "all" ? "All" : `${n}~65+` : `${n}~${r}`;
9
- }, C = (e, t) => e === "all" ? null : t === 65 ? {
8
+ return a === "all" ? n === "all" ? "All" : `${n}~65+` : `${n}~${a}`;
9
+ }, S = (e, t) => e === "all" ? null : t === 65 ? {
10
10
  included: [
11
11
  {
12
12
  minAge: e
@@ -19,90 +19,100 @@ const v = (e) => {
19
19
  maxAge: t
20
20
  }
21
21
  ]
22
- }, I = (e) => {
22
+ }, _ = (e) => {
23
23
  const { gender: t } = e || {};
24
24
  return t != null && t.included ? t.included[0] : null;
25
- }, S = { useAgeFormat: v, useAgeValue: C, useGenderFormat: I }, A = (e) => new Promise((t, n) => {
26
- const r = new Image();
27
- r.src = window.$getType(e) === "String" ? e : URL.createObjectURL(e), r.onload = () => t(r), r.onerror = () => n(new Error("Could not load image"));
28
- }), L = (e) => new Promise((t, n) => {
29
- const r = document.createElement("video");
30
- r.preload = "metadata", window.$getType(e) === "String" ? r.src = e : r.src = URL.createObjectURL(e), r.onloadedmetadata = () => {
31
- window.URL.revokeObjectURL(e), t(r);
25
+ }, M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26
+ __proto__: null,
27
+ useAgeFormat: v,
28
+ useAgeValue: S,
29
+ useGenderFormat: _
30
+ }, Symbol.toStringTag, { value: "Module" })), C = (e) => new Promise((t, n) => {
31
+ const a = new Image();
32
+ a.src = window.$getType(e) === "String" ? e : URL.createObjectURL(e), a.onload = () => t(a), a.onerror = () => n(new Error("Could not load image"));
33
+ }), I = (e) => new Promise((t, n) => {
34
+ const a = document.createElement("video");
35
+ a.preload = "metadata", window.$getType(e) === "String" ? a.src = e : a.src = URL.createObjectURL(e), a.onloadedmetadata = () => {
36
+ window.URL.revokeObjectURL(e), t(a);
32
37
  };
33
- }), M = ({ type: e = "csv", data: t, name: n }) => {
34
- let r = document.createElement("a");
38
+ }), A = ({ type: e = "csv", data: t, name: n }) => {
39
+ let a = document.createElement("a");
35
40
  if (e === "csv") {
36
- const a = new Blob(["\uFEFF" + t], {
41
+ const r = new Blob(["\uFEFF" + t], {
37
42
  type: "text/csv,charset=UTF-8"
38
43
  });
39
- r.href = URL.createObjectURL(a);
44
+ a.href = URL.createObjectURL(r);
40
45
  }
41
46
  let o = new MouseEvent("click");
42
- r.download = n || "download", r.dispatchEvent(o), (e === "csv" || e === "video") && URL.revokeObjectURL(r.url), r = null, o = null;
43
- }, R = { loadImage: A, loadVideo: L, download: M }, E = ({ table: e, key: t, form: n, value: r, cb: o = () => {
47
+ a.download = n || "download", a.dispatchEvent(o), (e === "csv" || e === "video") && URL.revokeObjectURL(a.url), a = null, o = null;
48
+ }, L = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
49
+ __proto__: null,
50
+ download: A,
51
+ loadImage: C,
52
+ loadVideo: I
53
+ }, Symbol.toStringTag, { value: "Module" })), O = ({ table: e, key: t, form: n, value: a, cb: o = () => {
44
54
  } }) => {
45
- const a = e.getSelectionRows();
46
- a.length > 1 ? (e.clearSelection(), e.toggleRowSelection(a[1], "selected"), n[r] = a[1][t]) : a.length === 1 && (n[r] = a[0][t]), o();
47
- }, O = (e = {}) => {
48
- let { sortable: t = !0, empty: n = !1, mmp: r = !1 } = e, o = window.$map.asa.asaMetric.all;
49
- r && (o = o.concat(window.$map.asa.mmpMetric.all));
50
- const a = o.map((s, i) => ({
51
- label: s.label,
52
- prop: s.value,
53
- width: s.width,
55
+ const r = e.getSelectionRows();
56
+ r.length > 1 ? (e.clearSelection(), e.toggleRowSelection(r[1], "selected"), n[a] = r[1][t]) : r.length === 1 && (n[a] = r[0][t]), o();
57
+ }, j = (e = {}) => {
58
+ let { sortable: t = !0, empty: n = !1, mmp: a = !1 } = e, o = window.$map.asa.asaMetric.all;
59
+ a && (o = o.concat(window.$map.asa.mmpMetric.all));
60
+ const r = o.map((l, i) => ({
61
+ label: l.label,
62
+ prop: l.value,
63
+ width: l.width,
54
64
  sortable: t,
55
- type: s.type,
56
- align: s.align,
57
- visible: s.visible,
58
- formatter: s.formatter
65
+ type: l.type,
66
+ align: l.align,
67
+ visible: l.visible,
68
+ formatter: l.formatter
59
69
  }));
60
- return a.unshift({
70
+ return r.unshift({
61
71
  label: "Currency",
62
72
  prop: "currency",
63
73
  width: 80,
64
74
  align: "right"
65
- }), a;
66
- }, j = () => ({
75
+ }), r;
76
+ }, R = () => ({
67
77
  label: "-"
68
- }), U = ({ columns: e, data: t, currency: n = "", channel: r = "" }) => {
78
+ }), E = ({ columns: e, data: t, currency: n = "", channel: a = "" }) => {
69
79
  if (!t.length || !e.length)
70
80
  return [];
71
81
  const o = {
72
82
  spend: {
73
83
  prop: "spend",
74
84
  prefix: n,
75
- format: (l) => window.$fa(l, 2)
85
+ format: (s) => window.$fa(s, 2)
76
86
  },
77
87
  taps: {
78
88
  prop: "taps",
79
- format: (l) => window.$fa(l, 0)
89
+ format: (s) => window.$fa(s, 0)
80
90
  },
81
91
  installs: {
82
92
  prop: "installs",
83
- format: (l) => window.$fa(l, 0)
93
+ format: (s) => window.$fa(s, 0)
84
94
  },
85
95
  impressions: {
86
96
  prop: "impressions",
87
- format: (l) => window.$fa(l, 0)
97
+ format: (s) => window.$fa(s, 0)
88
98
  },
89
99
  mmpInstalls: {
90
100
  prop: "mmpInstalls",
91
- format: (l) => window.$fa(l, 0)
101
+ format: (s) => window.$fa(s, 0)
92
102
  },
93
103
  mmpCPI: {
94
104
  prop: "mmpCPI",
95
- format: (l) => window.$fa(l, 2)
105
+ format: (s) => window.$fa(s, 2)
96
106
  },
97
107
  IPM: {
98
108
  prop: "IPM",
99
- format: (l) => window.$fa(l, 2)
109
+ format: (s) => window.$fa(s, 2)
100
110
  },
101
111
  revenue: {
102
112
  prop: "revenue",
103
- format: (l) => window.$fa(l, 2)
113
+ format: (s) => window.$fa(s, 2)
104
114
  }
105
- }, a = [], s = {
115
+ }, r = [], l = {
106
116
  avgCPT: {},
107
117
  avgCPA: {},
108
118
  avgCPM: {},
@@ -112,150 +122,189 @@ const v = (e) => {
112
122
  mmpInstalls: {},
113
123
  mmpCPI: {}
114
124
  };
115
- e.forEach((l, d) => {
116
- s[l.property] && (s[l.property].i = d);
117
- const m = o[l.property];
125
+ e.forEach((s, g) => {
126
+ l[s.property] && (l[s.property].i = g);
127
+ const m = o[s.property];
118
128
  if (m) {
119
- m.i = d;
120
- let g = window.$bigNumber(0);
121
- t.forEach((b) => {
122
- g = g.plus(b[l.property] || 0);
123
- }), g = g.toNumber(), m.total = g, a.push(g);
129
+ m.i = g;
130
+ let d = window.$bigNumber(0);
131
+ t.forEach((w) => {
132
+ d = d.plus(w[s.property] || 0);
133
+ }), d = d.toNumber(), m.total = d, r.push(d);
124
134
  } else
125
- a.push("");
126
- }), Object.keys(o).forEach((l) => {
127
- const d = o[l];
128
- d.format && a[d.i] && (a[d.i] = d.format(a[d.i]));
135
+ r.push("");
136
+ }), Object.keys(o).forEach((s) => {
137
+ const g = o[s];
138
+ g.format && r[g.i] && (r[g.i] = g.format(r[g.i]));
129
139
  });
130
140
  const c = o.taps.total ? window.$fa(o.spend.total / o.taps.total) : "0.00";
131
- a[s.avgCPT.i] = c;
141
+ r[l.avgCPT.i] = c;
132
142
  const f = o.installs.total ? window.$fa(o.spend.total / o.installs.total) : "0.00";
133
- if (a[s.avgCPA.i] = f, s.avgCPM.i !== void 0) {
134
- const l = o.impressions.total ? window.$fa(o.spend.total / (o.impressions.total / 1e3)) : "0.00";
135
- a[s.avgCPM.i] = l;
143
+ if (r[l.avgCPA.i] = f, l.avgCPM.i !== void 0) {
144
+ const s = o.impressions.total ? window.$fa(o.spend.total / (o.impressions.total / 1e3)) : "0.00";
145
+ r[l.avgCPM.i] = s;
136
146
  }
137
147
  const p = o.taps.total ? window.$fa(o.installs.total / o.taps.total * 100) : "0.00";
138
- a[s.cr.i] = p;
148
+ r[l.cr.i] = p;
139
149
  const h = o.impressions.total ? window.$fa(o.taps.total / o.impressions.total * 100) : "0.00";
140
- a[s.ttr.i] = h;
141
- const w = o.impressions.total ? window.$fa(o.installs.total * 1e3 / o.impressions.total) : "0.00";
142
- return a[s.IPM.i] = w, a;
143
- }, F = (e) => {
150
+ r[l.ttr.i] = h;
151
+ const b = o.impressions.total ? window.$fa(o.installs.total * 1e3 / o.impressions.total) : "0.00";
152
+ return r[l.IPM.i] = b, r;
153
+ }, U = (e) => {
144
154
  const t = window.$map.asa.allMetric.obj;
145
155
  return Object.keys(e).forEach((n) => {
146
- const r = e[n];
147
- t[n] && (e[`${n}Format`] = window.$fu({ prop: n, value: r, currency: !1, obj: t }));
156
+ const a = e[n];
157
+ t[n] && (e[`${n}Format`] = window.$fu({ prop: n, value: a, currency: !1, obj: t }));
148
158
  }), e;
149
- }, H = ({ columns: e, data: t }, n) => e.length && t.length ? e.map((o) => {
150
- let a = n[o.property] === void 0 ? "" : n[o.property];
151
- if (a !== "")
159
+ }, F = ({ columns: e, data: t }, n) => e.length && t.length ? e.map((o) => {
160
+ let r = n[o.property] === void 0 ? "" : n[o.property];
161
+ if (r !== "")
152
162
  try {
153
- a = window.$fa(a, window.$map.asa.allMetric.obj[o.property].precision);
163
+ r = window.$fa(r, window.$map.asa.allMetric.obj[o.property].precision);
154
164
  } catch {
155
165
  }
156
- return a;
157
- }) : [], _ = { useSingleSelect: E, useColumn: O, useEmptyColumn: j, useRemoteSummary: H, useSummary: U, useFormat: F }, B = (e, t = 88) => {
158
- const n = document.querySelector("html"), { scrollTop: r } = n, o = e.getBoundingClientRect();
166
+ return r;
167
+ }) : [], H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
168
+ __proto__: null,
169
+ useColumn: j,
170
+ useEmptyColumn: R,
171
+ useFormat: U,
172
+ useRemoteSummary: F,
173
+ useSingleSelect: O,
174
+ useSummary: E
175
+ }, Symbol.toStringTag, { value: "Module" })), B = (e, t = 88) => {
176
+ const n = document.querySelector("html"), { scrollTop: a } = n, o = e.getBoundingClientRect();
159
177
  n.scrollTo({
160
- top: r + o.y - t,
178
+ top: a + o.y - t,
161
179
  behavior: "smooth"
162
180
  });
163
- }, T = async ({ app: e, langs: t, langObj: n }) => new Promise((r) => {
181
+ }, y = async ({ app: e, langs: t, langObj: n }) => new Promise((a) => {
164
182
  const o = [];
165
183
  t.forEach((i) => {
166
184
  i.use && o.push(i);
167
185
  }), globalThis.$langs = o;
168
- let a = {};
169
- globalThis.$getType(n) === "Object" ? a = n : globalThis.$getType(n) === "String" && (globalThis.$store.common()[n] ? a = globalThis.$store.common()[n] : console.warn(
186
+ let r = {};
187
+ globalThis.$getType(n) === "Object" ? r = n : globalThis.$getType(n) === "String" && (globalThis.$store.common()[n] ? r = globalThis.$store.common()[n] : console.warn(
170
188
  `Language object "${n}" not found in store.common()`
171
189
  ));
172
- const s = (i, c) => {
190
+ const l = (i, c) => {
173
191
  if (i)
174
192
  if (c && globalThis.$getType(c) === "Object") {
175
- let f = a[i] || i;
193
+ let f = r[i] || i;
176
194
  return Object.keys(c).forEach((p) => {
177
195
  f[`$${p}$`] = c[p];
178
196
  }), f;
179
197
  } else
180
- return a[i] || i;
198
+ return r[i] || i;
181
199
  else
182
200
  return i;
183
201
  };
184
202
  String.prototype.$l = function() {
185
- return s(this);
186
- }, globalThis.$l = s, e.config.globalProperties.$l = s, r();
203
+ return l(this);
204
+ }, globalThis.$l = l, e.config.globalProperties.$l = l, a();
187
205
  }), k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
188
206
  __proto__: null,
189
207
  pageScrollTo: B,
190
- useLang: T
208
+ useLang: y
191
209
  }, Symbol.toStringTag, { value: "Module" })), u = [];
192
- let $ = 0;
193
- const y = function(e) {
210
+ let T = 0;
211
+ const $ = function(e) {
194
212
  u.forEach((t) => {
195
213
  if (t.time === void 0 || t.lastTime === 0 || e - t.lastTime >= t.time) {
196
214
  t.cb(e), t.lastTime = e;
197
215
  return;
198
216
  }
199
- }), u.length && window.requestAnimationFrame(y);
217
+ }), u.length && window.requestAnimationFrame($);
200
218
  }, x = function(e, t = 1e3) {
201
- return $++, u.push({
219
+ return T++, u.push({
202
220
  cb: e,
203
221
  time: t,
204
222
  lastTime: 0,
205
- id: $
206
- }), u.length === 1 && window.requestAnimationFrame(y), $;
207
- }, W = function(e) {
223
+ id: T
224
+ }), u.length === 1 && window.requestAnimationFrame($), T;
225
+ }, z = function(e) {
208
226
  for (let t = 0; t < u.length; t++)
209
227
  if (u[t].id === e) {
210
228
  u.splice(t, 1);
211
229
  break;
212
230
  }
213
- }, q = { useRaf: x, clearRaf: W }, N = async (e) => new Promise((t) => {
214
- if (document.getElementById("colorfulIcon"))
215
- return;
216
- const n = document.createElement("script");
217
- n.id = "colorfulIcon", n.type = "text/javascript", n.src = e || globalThis.config.colorfulIcon, document.head.appendChild(n), t();
218
- }), z = async (e = {}) => new Promise(async (t) => {
219
- const { theme: n = "light", currentLang: r, app: o } = e, a = document.documentElement, s = r || localStorage.getItem("lang") || globalThis.config.lang || "en_us";
220
- a.classList.add(s);
221
- const i = s.split("_");
222
- a.setAttribute("lang", `${i[0]}-${i[1].toUpperCase()}`);
223
- const c = i.includes("ar") ? "rtl" : "ltr";
224
- if (a.setAttribute("dir", c), a.classList.add(localStorage.getItem("theme") || n), o)
225
- await T({ app: o, langs: globalThis.config.langs || [] });
226
- else
231
+ }, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
232
+ __proto__: null,
233
+ clearRaf: z,
234
+ useRaf: x
235
+ }, Symbol.toStringTag, { value: "Module" })), q = async (e) => {
236
+ if (!document.getElementById("colorfulIcon"))
237
+ return new Promise((t) => {
238
+ const n = document.createElement("script");
239
+ n.id = "colorfulIcon", n.type = "text/javascript", n.src = e || globalThis.config.colorfulIcon, document.head.appendChild(n), t();
240
+ });
241
+ }, N = async (e = {}) => {
242
+ if (!globalThis.$langs)
243
+ return new Promise(async (t) => {
244
+ const { theme: n = "light", currentLang: a, app: o } = e, r = document.documentElement, l = a || localStorage.getItem("lang") || globalThis.config.lang || "en_us";
245
+ r.classList.add(l);
246
+ const i = l.split("_");
247
+ r.setAttribute("lang", `${i[0]}-${i[1].toUpperCase()}`);
248
+ const c = i.includes("ar") ? "rtl" : "ltr";
249
+ if (r.setAttribute("dir", c), r.classList.add(localStorage.getItem("theme") || n), o)
250
+ await y({ app: o, langs: globalThis.config.langs || [] });
251
+ else
252
+ throw new Error(
253
+ "app is not defined, please check your vue app create from createApp() function"
254
+ );
255
+ t();
256
+ });
257
+ }, G = () => {
258
+ if (!globalThis.config)
227
259
  throw new Error(
228
- "app is not defined, please check your vue app create from createApp() function"
260
+ "globalThis.config is not defined, please create globalThis.config frist"
229
261
  );
230
- t();
231
- }), G = () => {
232
- const { availWidth: e, availHeight: t } = globalThis.screen, { clientHeight: n } = globalThis.document.body, r = globalThis.config.page.paddingLeft || 32, o = globalThis.config.page.paddingRight || 32, a = e - r - o, s = globalThis.config.page.frameHeader || 82, i = globalThis.config.page.frameFooter || 36, c = n - s - i, f = globalThis.config.page.contentPaddingLeft || 16, p = globalThis.config.page.contentPaddingLeft || 16, h = a - f - p, w = globalThis.config.page.tableHeader || 56, l = globalThis.config.page.tableFooter || 56, d = n - s - w - l, m = globalThis.config.page.drawerHeader || 64, g = n - m, b = globalThis.navigator.userAgent.match(
262
+ const { availWidth: e, availHeight: t } = globalThis.screen, { clientHeight: n } = globalThis.document.body, a = globalThis.config.page.paddingLeft || 32, o = globalThis.config.page.paddingRight || 32, r = e - a - o, l = globalThis.config.page.frameHeader || 82, i = globalThis.config.page.frameFooter || 36, c = n - l - i, f = globalThis.config.page.contentPaddingLeft || 16, p = globalThis.config.page.contentPaddingLeft || 16, h = r - f - p, b = globalThis.config.page.tableHeader || 56, s = globalThis.config.page.tableFooter || 56, g = n - l - b - s, m = globalThis.config.page.drawerHeader || 64, d = n - m, w = globalThis.navigator.userAgent.match(
233
263
  /(phone|pad|pod|iPhone|iPod|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
234
264
  ) ? "h5" : "pc", P = /iPhone|iPad|iPod/i.test(globalThis.navigator.userAgent);
235
- globalThis.config.options = {
265
+ return globalThis.config.options = {
236
266
  screenWidth: e,
237
267
  screenHeight: t,
238
- pageWidth: a,
268
+ pageWidth: r,
239
269
  pageHeight: c,
240
270
  contentWidth: h,
241
- tableHeight: d,
242
- drawerHeight: g,
243
- device: b,
271
+ tableHeight: g,
272
+ drawerHeight: d,
273
+ device: w,
244
274
  isIOS: P
245
- };
275
+ }, globalThis.config.options;
246
276
  }, Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
247
277
  __proto__: null,
248
- initColorfulIcon: N,
249
- initLang: z,
278
+ initColorfulIcon: q,
279
+ initLang: N,
250
280
  initOptions: G
251
281
  }, Symbol.toStringTag, { value: "Module" })), V = {
252
- ...Q,
253
- ...S,
254
- ...R,
255
- ..._,
282
+ ...M,
283
+ ...L,
284
+ ...H,
256
285
  ...k,
257
- ...q
286
+ ...W,
287
+ ...Q
258
288
  };
259
289
  export {
260
- V as default
290
+ z as clearRaf,
291
+ V as default,
292
+ A as download,
293
+ q as initColorfulIcon,
294
+ N as initLang,
295
+ G as initOptions,
296
+ C as loadImage,
297
+ I as loadVideo,
298
+ B as pageScrollTo,
299
+ v as useAgeFormat,
300
+ S as useAgeValue,
301
+ j as useColumn,
302
+ R as useEmptyColumn,
303
+ U as useFormat,
304
+ _ as useGenderFormat,
305
+ y as useLang,
306
+ x as useRaf,
307
+ F as useRemoteSummary,
308
+ O as useSingleSelect,
309
+ E as useSummary
261
310
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "magtool",
3
3
  "packageManager": "yarn@4.4.1",
4
- "version": "1.3.7",
4
+ "version": "1.3.9",
5
5
  "author": "matt avis",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",