dfish-widget 1.0.29 → 1.0.35

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/lib/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import lodash from 'lodash';
2
2
  import jquery from 'jquery';
3
3
  import http from 'axios';
4
4
  import Qs from 'qs';
5
- import { h, mergeProps, resolveComponent, resolveDirective, openBlock, createBlock, withCtx, createVNode, withDirectives, createTextVNode, toDisplayString, renderSlot, createCommentVNode, toRaw, Fragment, renderList, Teleport, TransitionGroup, getCurrentInstance, ref, computed, onMounted, watch, createSlots, resolveDynamicComponent, withModifiers } from 'vue';
5
+ import { nextTick, h, mergeProps, toRaw, resolveComponent, openBlock, createElementBlock, createStaticVNode, createElementVNode, createBlock, withCtx, Fragment, createVNode, renderList, toDisplayString, createTextVNode, createCommentVNode, Teleport, computed, resolveDirective, withDirectives, unref, renderSlot, TransitionGroup, normalizeClass, getCurrentInstance, ref, onMounted, watch, createSlots, resolveDynamicComponent, normalizeStyle, withModifiers } from 'vue';
6
6
  import ResizeObserver$1 from 'resize-observer-polyfill';
7
7
 
8
8
  let u = navigator.userAgent.toLowerCase();
@@ -910,9 +910,9 @@ const snap = function(a, b, c, d, e, f, u) {
910
910
  _snapMag.inner[y] && (o.inner = T$1);
911
911
  if (f && o.mag) {
912
912
  if (o.inner) {
913
- o.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);
913
+ o.mag_t ? (o.top -= f, o.bottom += f) : o.mag_b ? (o.top += f, o.bottom -= f) : o.mag_r ? (o.left += f, o.right -= f) : (o.left -= f, o.right += f);
914
914
  } else {
915
- o.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);
915
+ o.mag_t ? (o.top += f, o.bottom -= f) : o.mag_b ? (o.top -= f, o.bottom += f) : o.mag_r ? (o.left -= f, o.right += f) : (o.left += f, o.right -= f);
916
916
  }
917
917
  }
918
918
  if (e) {// 自适应位置
@@ -1417,11 +1417,15 @@ $$1.download = function(a, b) {
1417
1417
  };
1418
1418
 
1419
1419
 
1420
- $$1.wifiConfirm = function(a, b) {
1421
- $$1.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($$1.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b);}, {buttons:[$$1.loc.confirm, $$1.loc.cancel]}) : a.call(b);
1420
+ $$1.wifiConfirm = (a, b) => {
1421
+ if ($$1.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3) {
1422
+ plus.nativeUI.confirm($$1.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b);}, {buttons:[$$1.loc.confirm, $$1.loc.cancel]});
1423
+ } else {
1424
+ a.call(b);
1425
+ }
1422
1426
  };
1423
1427
 
1424
- $$1.vm = (a) => {
1428
+ $$1.vm = $$1.view = (a) => {
1425
1429
  if (!a) return $$1.docView
1426
1430
  if (typeof a === 'string') {
1427
1431
  if ($$1.vueMap.has(a)) {
@@ -1587,39 +1591,25 @@ const queryEncode = function(data, config) {
1587
1591
  return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data
1588
1592
  };
1589
1593
 
1590
- $$1.ajax = function(cmd, args) {
1594
+ $$1.ajax = async function(cmd, args) {
1591
1595
  let src = args ? $$1.urlFormat(cmd.src, args) : cmd.src;
1592
1596
  if (!src && !cmd.request) {
1593
1597
  return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')
1594
1598
  }
1595
- let ctx = cmd.context || $$1.docView;
1596
- let lock = ctx.ajaxLock;
1597
1599
  let config = $$1.lodash.pick(cmd, ['headers', 'responseType']);
1598
1600
  if (cmd.download) {
1599
1601
  $$1.extend(config, {responseType: 'blob'});
1600
1602
  }
1601
- lock && lock();
1602
- cmd.loading && ctx.pop('w-loading', cmd.loading);
1603
1603
  if (cmd.request) {
1604
- return cmd.request(cmd.data).then(res => {
1605
- lock && lock(false);
1606
- cmd.loading && ctx.pop('w-loading', false);
1607
- return res
1608
- }).catch(ex => {
1609
- lock && lock(false);
1610
- cmd.loading && ctx.pop('w-loading', false);
1611
- return Promise.reject(ex)
1612
- })
1604
+ return cmd.request(cmd.data)
1613
1605
  } else {
1614
1606
  let method = (cmd.method || (cmd.data ? 'post' : 'get')).toLowerCase();
1615
1607
  return (method === 'post' || method === 'put' || method === 'patch' ? $$1.http[method](src, queryEncode(cmd.data, config), config) : $$1.http[method](src, config))
1616
1608
  .then(res => {
1617
- lock && lock(false);
1618
1609
  let data = res.data;
1619
- if (cmd.filter) data = cmd.filter(res, ctx);
1620
- if (cmd.success) cmd.success(data, ctx);
1621
- if (cmd.complete) cmd.complete(res, ctx);
1622
- cmd.loading && ctx.pop('w-loading', false);
1610
+ if (cmd.filter) data = cmd.filter(res);
1611
+ if (cmd.success) cmd.success(data);
1612
+ if (cmd.complete) cmd.complete(res);
1623
1613
  if (cmd.download) {
1624
1614
  let disposition = res.headers['content-disposition'];
1625
1615
  if (disposition) {
@@ -1636,10 +1626,8 @@ $$1.ajax = function(cmd, args) {
1636
1626
  }
1637
1627
  return data
1638
1628
  }).catch(ex => {
1639
- lock && lock(false);
1640
- if (cmd.error) cmd.error(ex, ctx);
1641
- if (cmd.complete) cmd.complete(ex.response, ctx, ex);
1642
- cmd.loading && ctx.pop('w-loading', false);
1629
+ if (cmd.error) cmd.error(ex);
1630
+ if (cmd.complete) cmd.complete(ex.response, ex);
1643
1631
  return Promise.reject(ex)
1644
1632
  })
1645
1633
  }
@@ -1710,6 +1698,16 @@ $$1.config = function(opt) {
1710
1698
  }
1711
1699
  };
1712
1700
 
1701
+ $$1.pop = (template, props, options = {}) => {
1702
+ const commander = $$1(options.target) || $$1.vm();
1703
+ return $$1.vm(commander).createPop(commander, template, props, options)
1704
+ };
1705
+
1706
+ $$1.submit = (request, options = {}) => {
1707
+ const commander = $$1(options.target) || $$1.vm();
1708
+ return commander.submit(request, options)
1709
+ };
1710
+
1713
1711
  window.addEventListener('unhandledrejection', (event) => {
1714
1712
  if ($$1.x.catchReject) {
1715
1713
  $$1.x.catchReject(event);
@@ -1802,7 +1800,7 @@ function directive(Vue) {
1802
1800
 
1803
1801
  const bindCache = {};
1804
1802
 
1805
- var script$1k = {
1803
+ var script$1i = {
1806
1804
  props: ['data', 'width', 'height', 'colspan', 'rowspan', 'ownproperty', 'orientUid'],
1807
1805
  data() {
1808
1806
  return {
@@ -1870,8 +1868,11 @@ const bindCache = {};
1870
1868
  }
1871
1869
  },
1872
1870
  ajax(cmd) {
1873
- cmd.context = cmd.context || this;
1874
- return $$1.ajax(cmd)
1871
+ this.ajaxLock && this.ajaxLock();
1872
+ return $$1.ajax(cmd).then((res) => {
1873
+ this.ajaxLock && this.ajaxLock(false);
1874
+ return res
1875
+ })
1875
1876
  },
1876
1877
  submit(request, cmd) {
1877
1878
  if (typeof request === 'object') {
@@ -1884,26 +1885,30 @@ const bindCache = {};
1884
1885
  if (request) {
1885
1886
  cmd.request = request;
1886
1887
  }
1887
- const vm = $$1.vm(this);
1888
- return new Promise(rsv => this.$nextTick(() => {
1889
- let d = cmd.validate || false;
1890
- let f = vm.getFormList(d.range || cmd.range);
1891
- let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f;
1892
- if (vm.valid(f, d.group)) {
1893
- let post = vm.getPostData(g);
1894
- cmd.data = cmd.data ? $$1.extend(cmd.data, post) : post;
1895
- this.ajax(cmd).then(data => rsv(data));
1896
- }
1897
- }))
1888
+ return new Promise(async (resolve) => {
1889
+ await nextTick();
1890
+ const vm = $$1.vm(this);
1891
+ let d = cmd.validate || false;
1892
+ let f = vm.getFormList(d.range || cmd.range);
1893
+ let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f;
1894
+ this.ajaxLock && this.ajaxLock();
1895
+ let isValid = await vm.valid(f, d.group);
1896
+ if (isValid) {
1897
+ let post = vm.getPostData(g);
1898
+ cmd.data = cmd.data ? $$1.extend(cmd.data, post) : post;
1899
+ resolve(this.ajax(cmd));
1900
+ } else {
1901
+ this.ajaxLock && this.ajaxLock(false);
1902
+ }
1903
+ })
1898
1904
  },
1899
- pop(template, props) {
1900
- let vm = $$1.vm(this);
1901
- if (props === false) {
1902
- vm.getPops({template, commander: this}).forEach(p => vm.removePop(p));
1903
- } else {
1904
- return vm.createPop(template, props, this)
1905
- }
1905
+ pop(template, props, options) {
1906
+ return $$1.vm(this).createPop(this, template, props, options)
1906
1907
  },
1908
+ closePop(template) {
1909
+ const vm = $$1.vm(this);
1910
+ vm.getPops(template).forEach(p => vm.removePop(p));
1911
+ },
1907
1912
  trigger(ev, ...args) {
1908
1913
  let type = ev.runType || ev.type || ev;
1909
1914
  let f = this.getOn(type);
@@ -1960,7 +1965,7 @@ const bindCache = {};
1960
1965
  let c = 'hasScroll' + dir.toUpperCase();
1961
1966
  let t = this.closest(p => p[c] && (p.scrollState() || false)[dir]);
1962
1967
  if (t) {
1963
- t.scrollTo(this, opt.hasOwnProperty('y') ? opt.y : 'auto', opt.hasOwnProperty('x') ? opt.x : 'auto', opt.ease == null ? 200 : opt.ease, opt.divide, fn);
1968
+ t.scrollTo(this, opt.hasOwnProperty('y') ? opt.y : 'auto', opt.x, opt.ease == null ? 200 : opt.ease, opt.divide, fn);
1964
1969
  } else
1965
1970
  fn && fn();
1966
1971
  };
@@ -1970,7 +1975,7 @@ const bindCache = {};
1970
1975
  if (!a) return false
1971
1976
  if (this.contains(a)) return true
1972
1977
  let d = $$1.dialog(a);
1973
- if (d && d.commander) return this.hasBubble(d.commander)
1978
+ if (d && d.commander) return d.commander === a ? true : this.hasBubble(d.commander)
1974
1979
  },
1975
1980
  bind(name, fn) {
1976
1981
  let c = bindCache[this.uid] || (bindCache[this.uid] = {});
@@ -2060,9 +2065,9 @@ const bindCache = {};
2060
2065
  }
2061
2066
  };
2062
2067
 
2063
- script$1k.__file = "src/widgets/WidgetAbs.vue";
2068
+ script$1i.__file = "src/widgets/WidgetAbs.vue";
2064
2069
 
2065
- var script$1j = {
2070
+ var script$1h = {
2066
2071
  props: ['src', 'children'],
2067
2072
  data() {
2068
2073
  return {
@@ -2096,310 +2101,11 @@ var script$1j = {
2096
2101
  }
2097
2102
  };
2098
2103
 
2099
- script$1j.__file = "src/widgets/SrcParent.vue";
2100
-
2101
- const icons = {
2102
- info: '.f-i .f-i-alert-info',
2103
- warning: '.f-i .f-i-alert-warning',
2104
- success: '.f-i .f-i-alert-success',
2105
- question: '.f-i .f-i-alert-question',
2106
- error: '.f-i .f-i-alert-error'
2107
- };
2108
-
2109
- var script$1i = {
2110
- props: ['text', 'title', 'icon', 'showButton'],
2111
- data() {
2112
- return {
2113
- defaultIconType: 'info'
2114
- }
2115
- },
2116
- methods: {
2117
- save() {
2118
- this.$refs.dialog.cueYes();
2119
- },
2120
- close() {
2121
- this.$refs.dialog.close();
2122
- }
2123
- },
2124
- computed: {
2125
- typeIcon() {
2126
- return icons[this.icon] || this.icon || icons[this.defaultIconType]
2127
- }
2128
- },
2129
- };
2130
-
2131
- const _hoisted_1$9 = /*#__PURE__*/createVNode("i", { class: "w-alert-close-icon f-i f-i-close" }, null, -1 /* HOISTED */);
2132
-
2133
- function render$b(_ctx, _cache, $props, $setup, $data, $options) {
2134
- const _component_w_html = resolveComponent("w-html");
2135
- const _component_w_vertical = resolveComponent("w-vertical");
2136
- const _component_w_horizontal = resolveComponent("w-horizontal");
2137
- const _component_w_img = resolveComponent("w-img");
2138
- const _component_w_button = resolveComponent("w-button");
2139
- const _component_w_buttonbar = resolveComponent("w-buttonbar");
2140
- const _component_w_alert = resolveComponent("w-alert");
2141
- const _directive_dialog_move = resolveDirective("dialog-move");
2142
-
2143
- return (openBlock(), createBlock(_component_w_alert, { ref: "dialog" }, {
2144
- default: withCtx(() => [
2145
- createVNode(_component_w_horizontal, { class: "w-alert-head" }, {
2146
- default: withCtx(() => [
2147
- withDirectives(createVNode(_component_w_vertical, {
2148
- class: "w-alert-move",
2149
- "w-width": "*"
2150
- }, {
2151
- default: withCtx(() => [
2152
- createVNode(_component_w_html, {
2153
- class: "w-alert-title",
2154
- valign: "middle",
2155
- height: "*"
2156
- }, {
2157
- default: withCtx(() => [
2158
- createTextVNode(toDisplayString($props.title), 1 /* TEXT */)
2159
- ]),
2160
- _: 1 /* STABLE */
2161
- })
2162
- ]),
2163
- _: 1 /* STABLE */
2164
- }, 512 /* NEED_PATCH */), [
2165
- [_directive_dialog_move, true]
2166
- ]),
2167
- createVNode(_component_w_html, {
2168
- class: "w-alert-close",
2169
- align: "center",
2170
- valign: "middle",
2171
- onClick: $options.close
2172
- }, {
2173
- default: withCtx(() => [
2174
- _hoisted_1$9
2175
- ]),
2176
- _: 1 /* STABLE */
2177
- }, 8 /* PROPS */, ["onClick"])
2178
- ]),
2179
- _: 1 /* STABLE */
2180
- }),
2181
- createVNode(_component_w_vertical, { class: "w-alert-body" }, {
2182
- default: withCtx(() => [
2183
- createVNode(_component_w_horizontal, { class: "w-alert-main" }, {
2184
- default: withCtx(() => [
2185
- createVNode(_component_w_img, {
2186
- class: "w-alert-icon",
2187
- src: $options.typeIcon
2188
- }, null, 8 /* PROPS */, ["src"]),
2189
- renderSlot(_ctx.$slots, "default", {}, () => [
2190
- createVNode("div", {
2191
- "w-width": "*",
2192
- class: "w-alert-text",
2193
- innerHTML: $props.text
2194
- }, null, 8 /* PROPS */, ["innerHTML"])
2195
- ])
2196
- ]),
2197
- _: 3 /* FORWARDED */
2198
- }),
2199
- ($props.showButton!==false)
2200
- ? (openBlock(), createBlock(_component_w_buttonbar, {
2201
- key: 0,
2202
- class: "w-alert-buttonbar"
2203
- }, {
2204
- default: withCtx(() => [
2205
- createVNode(_component_w_button, {
2206
- face: "primary",
2207
- class: "w-alert-button",
2208
- text: "确定",
2209
- onClick: $options.save,
2210
- ownproperty: true
2211
- }, null, 8 /* PROPS */, ["onClick"])
2212
- ]),
2213
- _: 1 /* STABLE */
2214
- }))
2215
- : createCommentVNode("v-if", true)
2216
- ]),
2217
- _: 1 /* STABLE */
2218
- })
2219
- ]),
2220
- _: 1 /* STABLE */
2221
- }, 512 /* NEED_PATCH */))
2222
- }
2223
-
2224
- script$1i.render = render$b;
2225
- script$1i.__file = "src/template/TemplateAlert.vue";
2226
-
2227
- var script$1h = {
2228
- mixins: [script$1i],
2229
- data() {
2230
- return {
2231
- defaultIconType: 'question'
2232
- }
2233
- },
2234
- methods: {
2235
- save() {
2236
- this.$refs.dialog.cueYes();
2237
- },
2238
- cancel() {
2239
- this.$refs.dialog.cueNo();
2240
- }
2241
- }
2242
- };
2243
-
2244
- const _hoisted_1$8 = /*#__PURE__*/createVNode("i", { class: "w-alert-close-icon f-i f-i-close" }, null, -1 /* HOISTED */);
2245
-
2246
- function render$a(_ctx, _cache, $props, $setup, $data, $options) {
2247
- const _component_w_html = resolveComponent("w-html");
2248
- const _component_w_vertical = resolveComponent("w-vertical");
2249
- const _component_w_horizontal = resolveComponent("w-horizontal");
2250
- const _component_w_img = resolveComponent("w-img");
2251
- const _component_w_button = resolveComponent("w-button");
2252
- const _component_w_buttonbar = resolveComponent("w-buttonbar");
2253
- const _component_w_confirm = resolveComponent("w-confirm");
2254
- const _directive_dialog_move = resolveDirective("dialog-move");
2255
-
2256
- return (openBlock(), createBlock(_component_w_confirm, { ref: "dialog" }, {
2257
- default: withCtx(() => [
2258
- createVNode(_component_w_horizontal, { class: "w-alert-head" }, {
2259
- default: withCtx(() => [
2260
- withDirectives(createVNode(_component_w_vertical, {
2261
- class: "w-alert-move",
2262
- "w-width": "*"
2263
- }, {
2264
- default: withCtx(() => [
2265
- createVNode(_component_w_html, {
2266
- class: "w-alert-title",
2267
- valign: "middle",
2268
- height: "*"
2269
- }, {
2270
- default: withCtx(() => [
2271
- createTextVNode(toDisplayString(_ctx.title), 1 /* TEXT */)
2272
- ]),
2273
- _: 1 /* STABLE */
2274
- })
2275
- ]),
2276
- _: 1 /* STABLE */
2277
- }, 512 /* NEED_PATCH */), [
2278
- [_directive_dialog_move, true]
2279
- ]),
2280
- createVNode(_component_w_html, {
2281
- class: "w-alert-close",
2282
- align: "center",
2283
- valign: "middle",
2284
- onClick: $options.cancel
2285
- }, {
2286
- default: withCtx(() => [
2287
- _hoisted_1$8
2288
- ]),
2289
- _: 1 /* STABLE */
2290
- }, 8 /* PROPS */, ["onClick"])
2291
- ]),
2292
- _: 1 /* STABLE */
2293
- }),
2294
- createVNode(_component_w_vertical, { class: "w-alert-body" }, {
2295
- default: withCtx(() => [
2296
- createVNode(_component_w_horizontal, {
2297
- class: "w-alert-main",
2298
- valign: "middle"
2299
- }, {
2300
- default: withCtx(() => [
2301
- createVNode(_component_w_img, {
2302
- class: "w-alert-icon",
2303
- src: _ctx.typeIcon
2304
- }, null, 8 /* PROPS */, ["src"]),
2305
- renderSlot(_ctx.$slots, "default", {}, () => [
2306
- createVNode("div", {
2307
- "w-width": "*",
2308
- class: "w-alert-text",
2309
- innerHTML: _ctx.text
2310
- }, null, 8 /* PROPS */, ["innerHTML"])
2311
- ])
2312
- ]),
2313
- _: 3 /* FORWARDED */
2314
- }),
2315
- createVNode(_component_w_buttonbar, {
2316
- gap: "10",
2317
- class: "w-alert-buttonbar"
2318
- }, {
2319
- default: withCtx(() => [
2320
- createVNode(_component_w_button, {
2321
- face: "primary",
2322
- class: "w-alert-button",
2323
- text: "确定",
2324
- onClick: $options.save,
2325
- ownproperty: true
2326
- }, null, 8 /* PROPS */, ["onClick"]),
2327
- createVNode(_component_w_button, {
2328
- class: "w-alert-button",
2329
- text: "取消",
2330
- onClick: $options.cancel,
2331
- ownproperty: true
2332
- }, null, 8 /* PROPS */, ["onClick"])
2333
- ]),
2334
- _: 1 /* STABLE */
2335
- })
2336
- ]),
2337
- _: 1 /* STABLE */
2338
- })
2339
- ]),
2340
- _: 1 /* STABLE */
2341
- }, 512 /* NEED_PATCH */))
2342
- }
2343
-
2344
- script$1h.render = render$a;
2345
- script$1h.__file = "src/template/TemplateConfirm.vue";
2104
+ script$1h.__file = "src/widgets/SrcParent.vue";
2346
2105
 
2347
2106
  var script$1g = {
2348
- props: ['text'],
2349
- methods: {
2350
-
2351
- },
2352
- computed: {
2353
-
2354
- }
2355
- };
2356
-
2357
- const _hoisted_1$7 = { class: "w-tip-body f-flex-center" };
2358
- const _hoisted_2$6 = { class: "w-tip-text" };
2359
-
2360
- function render$9(_ctx, _cache, $props, $setup, $data, $options) {
2361
- const _component_w_tip = resolveComponent("w-tip");
2362
-
2363
- return (openBlock(), createBlock(_component_w_tip, null, {
2364
- default: withCtx(() => [
2365
- createVNode("div", _hoisted_1$7, [
2366
- createVNode("div", _hoisted_2$6, [
2367
- renderSlot(_ctx.$slots, "default", {}, () => [
2368
- createTextVNode(toDisplayString($props.text), 1 /* TEXT */)
2369
- ])
2370
- ])
2371
- ])
2372
- ]),
2373
- _: 3 /* FORWARDED */
2374
- }))
2375
- }
2376
-
2377
- script$1g.render = render$9;
2378
- script$1g.__file = "src/template/TemplateTip.vue";
2379
-
2380
- function render$8(_ctx, _cache) {
2381
- const _component_w_loading = resolveComponent("w-loading");
2382
-
2383
- return (openBlock(), createBlock(_component_w_loading))
2384
- }
2385
-
2386
- const script$1f = {};
2387
-
2388
-
2389
- script$1f.render = render$8;
2390
- script$1f.__file = "src/template/TemplateLoading.vue";
2391
-
2392
- const templateHooks = {
2393
- 'w-alert': script$1i,
2394
- 'w-confirm': script$1h,
2395
- 'w-tip': script$1g,
2396
- 'w-loading': script$1f
2397
- };
2398
-
2399
-
2400
- var script$1e = {
2401
2107
  name: 'w-view',
2402
- mixins: [script$1j],
2108
+ mixins: [script$1h],
2403
2109
  provide() {
2404
2110
  return {
2405
2111
  provideView: this
@@ -2502,10 +2208,10 @@ const templateHooks = {
2502
2208
  return r
2503
2209
  },
2504
2210
  // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name
2505
- getValidError(range) {
2211
+ async getValidError(range) {
2506
2212
  let e, q = this.getFormList(range);
2507
2213
  for (let i = 0, l = q.length, c, v; i < l; i++) {
2508
- if ((c = $$1(q[i])) && c.isFormWidget && (v = c.getValidError())) {
2214
+ if ((c = $$1(q[i])) && c.isFormWidget && (v = await c.getValidError())) {
2509
2215
  if (!e) e = [];
2510
2216
  if (!e.find(n => n.wid == v.wid)) e.push(v);
2511
2217
  }
@@ -2513,14 +2219,14 @@ const templateHooks = {
2513
2219
  return e
2514
2220
  },
2515
2221
  // 表单验证。验证通过返回true /@ range -> validaterange
2516
- valid(range) {
2222
+ async valid(range) {
2517
2223
  if (this._err_ns) {
2518
2224
  this._err_ns.forEach(v => {
2519
2225
  let n = $$1.vueMap.get(v.wid);
2520
2226
  n && n.warn(false);
2521
2227
  });
2522
2228
  }
2523
- let e = this.getValidError(range);
2229
+ let e = await this.getValidError(range);
2524
2230
  if (e) {
2525
2231
  e.forEach(v => $$1.vueMap.get(v.wid).warn());
2526
2232
  $$1.vueMap.get(e[0].wid).showErrorTip(e[0].text);
@@ -2548,19 +2254,40 @@ const templateHooks = {
2548
2254
  return this.pop('w-loading', {cover: true, local: true, ...props})
2549
2255
  }
2550
2256
  },
2551
- createPop(template, props, commander) {
2257
+ /*
2258
+ @options: {
2259
+ mode: {
2260
+ 'default': 一个template只有一个实例,且每次都是新实例
2261
+ 'component': 一个template只有一个实例
2262
+ 'multiple': 一个template可以多个实例
2263
+ },
2264
+ init(pop): Function, 对话框mounted后执行
2265
+ }
2266
+ */
2267
+ createPop(commander, template, props, options = {}) {
2552
2268
  return new Promise((resolve, reject) => {
2553
- const orientUid = $$1.uid();
2554
- this.pops.push({template, orientUid, props, commander, resolve, reject});
2269
+ const mode = options.mode || 'default';
2270
+ const pop = this.getPops(template)[0];
2271
+ if (pop) {
2272
+ if (mode === 'component') {
2273
+ Object.assign(pop, {props, options, resolve, reject});
2274
+ return
2275
+ } else if (mode === 'default') {
2276
+ let index = this.pops.indexOf(pop);
2277
+ this.pops.splice(index, 1);
2278
+ }
2279
+ }
2280
+ const orientUid = $$1.uid();
2281
+ this.pops.push({commander, template, props, options, orientUid, resolve, reject});
2555
2282
  })
2556
2283
  },
2557
2284
  removePop(p) {
2558
2285
  let i = typeof p === 'string' ? this.pops.findIndex(v => v.orientUid == p) : this.pops.indexOf(p);
2559
2286
  i > -1 && this.pops.splice(i, 1);
2560
2287
  },
2561
- getPops({template, commander}) {
2288
+ getPops(template, commander) {
2562
2289
  return this.pops.filter(p => {
2563
- if (template && p.template != template) return false
2290
+ if (template && toRaw(p.template) != toRaw(template)) return false
2564
2291
  if (commander && p.commander != commander) return false
2565
2292
  return true
2566
2293
  })
@@ -2570,160 +2297,49 @@ const templateHooks = {
2570
2297
  },
2571
2298
  html_pops() {
2572
2299
  return this.pops.map(({template, orientUid, props}) => {
2573
- const com = toRaw(typeof template === 'string' ? templateHooks[template] : template);
2300
+ const com = typeof template === 'string' ? resolveComponent(template) : toRaw(template);
2574
2301
  return com && h(com, {key: orientUid, orientUid, ...props})
2575
2302
  })
2576
2303
  }
2577
2304
  }
2578
2305
  };
2579
2306
 
2580
- script$1e.__file = "src/widgets/ViewAbs.vue";
2307
+ script$1g.__file = "src/widgets/ViewAbs.vue";
2581
2308
 
2582
- var script$1d = {
2309
+ var script$1f = {
2583
2310
  name: 'w-svg-loading'
2584
2311
  };
2585
2312
 
2586
- const _hoisted_1$6 = {
2313
+ const _hoisted_1$9 = {
2587
2314
  style: {"display":"none","width":"0","height":"0"},
2588
2315
  width: "0",
2589
2316
  height: "0",
2590
2317
  focusable: "false",
2591
2318
  "aria-hidden": "true"
2592
2319
  };
2593
- const _hoisted_2$5 = /*#__PURE__*/createVNode("symbol", {
2594
- id: "f-svg-loading",
2595
- viewBox: "0 0 50 50"
2596
- }, [
2597
- /*#__PURE__*/createVNode("path", {
2598
- d: "M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z",
2599
- transform: "rotate(86.9154 25 25)"
2600
- })
2601
- ], -1 /* HOISTED */);
2602
- const _hoisted_3$5 = /*#__PURE__*/createVNode("symbol", {
2603
- id: "f-svg-loading-1",
2604
- viewBox: "10 10 80 80"
2605
- }, [
2606
- /*#__PURE__*/createVNode("circle", {
2607
- cx: "50",
2608
- cy: "50",
2609
- r: "30"
2610
- })
2611
- ], -1 /* HOISTED */);
2612
- const _hoisted_4$3 = /*#__PURE__*/createVNode("symbol", {
2613
- id: "f-svg-loading-2",
2614
- viewBox: "0 0 24 30"
2615
- }, [
2616
- /*#__PURE__*/createVNode("rect", {
2617
- x: "0",
2618
- y: "8.66115",
2619
- width: "4",
2620
- height: "12.6777",
2621
- opacity: "0.2"
2622
- }, [
2623
- /*#__PURE__*/createVNode("animate", {
2624
- attributeName: "opacity",
2625
- values: "0.2; 1; .2",
2626
- begin: "0s",
2627
- dur: "0.6s",
2628
- repeatCount: "indefinite"
2629
- }),
2630
- /*#__PURE__*/createVNode("animate", {
2631
- attributeName: "height",
2632
- values: "10; 20; 10",
2633
- begin: "0s",
2634
- dur: "0.6s",
2635
- repeatCount: "indefinite"
2636
- }),
2637
- /*#__PURE__*/createVNode("animate", {
2638
- attributeName: "y",
2639
- values: "10; 5; 10",
2640
- begin: "0s",
2641
- dur: "0.6s",
2642
- repeatCount: "indefinite"
2643
- })
2644
- ]),
2645
- /*#__PURE__*/createVNode("rect", {
2646
- x: "8",
2647
- y: "6.16115",
2648
- width: "4",
2649
- height: "17.6777",
2650
- opacity: "0.2"
2651
- }, [
2652
- /*#__PURE__*/createVNode("animate", {
2653
- attributeName: "opacity",
2654
- values: "0.2; 1; .2",
2655
- begin: "0.15s",
2656
- dur: "0.6s",
2657
- repeatCount: "indefinite"
2658
- }),
2659
- /*#__PURE__*/createVNode("animate", {
2660
- attributeName: "height",
2661
- values: "10; 20; 10",
2662
- begin: "0.15s",
2663
- dur: "0.6s",
2664
- repeatCount: "indefinite"
2665
- }),
2666
- /*#__PURE__*/createVNode("animate", {
2667
- attributeName: "y",
2668
- values: "10; 5; 10",
2669
- begin: "0.15s",
2670
- dur: "0.6s",
2671
- repeatCount: "indefinite"
2672
- })
2673
- ]),
2674
- /*#__PURE__*/createVNode("rect", {
2675
- x: "16",
2676
- y: "6.33885",
2677
- width: "4",
2678
- height: "17.3223",
2679
- opacity: "0.2"
2680
- }, [
2681
- /*#__PURE__*/createVNode("animate", {
2682
- attributeName: "opacity",
2683
- values: "0.2; 1; .2",
2684
- begin: "0.3s",
2685
- dur: "0.6s",
2686
- repeatCount: "indefinite"
2687
- }),
2688
- /*#__PURE__*/createVNode("animate", {
2689
- attributeName: "height",
2690
- values: "10; 20; 10",
2691
- begin: "0.3s",
2692
- dur: "0.6s",
2693
- repeatCount: "indefinite"
2694
- }),
2695
- /*#__PURE__*/createVNode("animate", {
2696
- attributeName: "y",
2697
- values: "10; 5; 10",
2698
- begin: "0.3s",
2699
- dur: "0.6s",
2700
- repeatCount: "indefinite"
2701
- })
2702
- ])
2703
- ], -1 /* HOISTED */);
2704
- const _hoisted_5$2 = /*#__PURE__*/createVNode("symbol", {
2320
+ const _hoisted_2$7 = /*#__PURE__*/createStaticVNode("<symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\"><path d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\" transform=\"rotate(86.9154 25 25)\"></path></symbol><symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\"><circle cx=\"50\" cy=\"50\" r=\"30\"></circle></symbol><symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\"><rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\"><animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate></rect><rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\"><animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate></rect><rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\"><animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate><animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\" repeatCount=\"indefinite\"></animate></rect></symbol>", 3);
2321
+ const _hoisted_5$2 = /*#__PURE__*/createElementVNode("symbol", {
2705
2322
  id: "f-svg-loading-3",
2706
2323
  viewBox: "0 0 1024 1024"
2707
2324
  }, [
2708
- /*#__PURE__*/createVNode("path", {
2325
+ /*#__PURE__*/createElementVNode("path", {
2709
2326
  d: "M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0",
2710
2327
  "p-id": "4486"
2711
2328
  })
2712
2329
  ], -1 /* HOISTED */);
2330
+ const _hoisted_6$2 = [
2331
+ _hoisted_2$7,
2332
+ _hoisted_5$2
2333
+ ];
2713
2334
 
2714
2335
  function render$7(_ctx, _cache, $props, $setup, $data, $options) {
2715
- return (openBlock(), createBlock("svg", _hoisted_1$6, [
2716
- _hoisted_2$5,
2717
- _hoisted_3$5,
2718
- _hoisted_4$3,
2719
- _hoisted_5$2
2720
- ]))
2336
+ return (openBlock(), createElementBlock("svg", _hoisted_1$9, _hoisted_6$2))
2721
2337
  }
2722
2338
 
2723
- script$1d.render = render$7;
2724
- script$1d.__file = "src/assets/SVGIcon.vue";
2339
+ script$1f.render = render$7;
2340
+ script$1f.__file = "src/assets/SVGIcon.vue";
2725
2341
 
2726
- var script$1c = {
2342
+ var script$1e = {
2727
2343
  props: ['data'],
2728
2344
  data() {
2729
2345
  return {
@@ -2764,9 +2380,10 @@ var script$1c = {
2764
2380
  }
2765
2381
  };
2766
2382
 
2767
- const _hoisted_1$5 = { class: "f-height f-rel f-oh" };
2768
- const _hoisted_2$4 = { class: "_rotate" };
2769
- const _hoisted_3$4 = /*#__PURE__*/createVNode("span", { class: "_s" }, "|", -1 /* HOISTED */);
2383
+ const _hoisted_1$8 = { class: "f-height f-rel f-oh" };
2384
+ const _hoisted_2$6 = ["src"];
2385
+ const _hoisted_3$4 = { class: "_rotate" };
2386
+ const _hoisted_4$2 = /*#__PURE__*/createElementVNode("span", { class: "_s" }, "|", -1 /* HOISTED */);
2770
2387
 
2771
2388
  function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2772
2389
  const _component_w_swiper_item = resolveComponent("w-swiper-item");
@@ -2784,7 +2401,7 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2784
2401
  }, {
2785
2402
  default: withCtx(() => [
2786
2403
  ($props.data.type=='image')
2787
- ? (openBlock(), createBlock(Fragment, { key: 0 }, [
2404
+ ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2788
2405
  createVNode(_component_w_swiper, {
2789
2406
  ref: "swiper",
2790
2407
  class: "f-height",
@@ -2794,14 +2411,14 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2794
2411
  duration: "300"
2795
2412
  }, {
2796
2413
  default: withCtx(() => [
2797
- (openBlock(true), createBlock(Fragment, null, renderList($props.data.imgs, (item, index) => {
2414
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.data.imgs, (item, index) => {
2798
2415
  return (openBlock(), createBlock(_component_w_swiper_item, { key: index }, {
2799
2416
  default: withCtx(() => [
2800
- createVNode("div", _hoisted_1$5, [
2801
- createVNode("img", {
2417
+ createElementVNode("div", _hoisted_1$8, [
2418
+ createElementVNode("img", {
2802
2419
  class: "_img",
2803
2420
  src: item
2804
- }, null, 8 /* PROPS */, ["src"])
2421
+ }, null, 8 /* PROPS */, _hoisted_2$6)
2805
2422
  ])
2806
2423
  ]),
2807
2424
  _: 2 /* DYNAMIC */
@@ -2810,15 +2427,15 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2810
2427
  ]),
2811
2428
  _: 1 /* STABLE */
2812
2429
  }, 8 /* PROPS */, ["current", "arrow", "indicator-dots"]),
2813
- createVNode("div", _hoisted_2$4, [
2814
- createVNode("a", {
2430
+ createElementVNode("div", _hoisted_3$4, [
2431
+ createElementVNode("a", {
2815
2432
  class: "_l",
2816
- onClick: _cache[1] || (_cache[1] = $event => ($options.rot(-1)))
2433
+ onClick: _cache[0] || (_cache[0] = $event => ($options.rot(-1)))
2817
2434
  }, toDisplayString($options.loc.rotate_left), 1 /* TEXT */),
2818
- _hoisted_3$4,
2819
- createVNode("a", {
2435
+ _hoisted_4$2,
2436
+ createElementVNode("a", {
2820
2437
  class: "_r",
2821
- onClick: _cache[2] || (_cache[2] = $event => ($options.rot(1)))
2438
+ onClick: _cache[1] || (_cache[1] = $event => ($options.rot(1)))
2822
2439
  }, toDisplayString($options.loc.rotate_right), 1 /* TEXT */)
2823
2440
  ])
2824
2441
  ], 64 /* STABLE_FRAGMENT */))
@@ -2827,19 +2444,19 @@ function render$6(_ctx, _cache, $props, $setup, $data, $options) {
2827
2444
  class: "f-height",
2828
2445
  src: $props.data.src
2829
2446
  }, null, 8 /* PROPS */, ["src"])),
2830
- createVNode("div", {
2447
+ createElementVNode("div", {
2831
2448
  class: "_dlg_x",
2832
- onClick: _cache[3] || (_cache[3] = (...args) => ($options.close && $options.close(...args)))
2449
+ onClick: _cache[2] || (_cache[2] = (...args) => ($options.close && $options.close(...args)))
2833
2450
  })
2834
2451
  ]),
2835
2452
  _: 1 /* STABLE */
2836
2453
  }))
2837
2454
  }
2838
2455
 
2839
- script$1c.render = render$6;
2840
- script$1c.__file = "src/template/TemplatePreviewMedia.vue";
2456
+ script$1e.render = render$6;
2457
+ script$1e.__file = "src/template/TemplatePreviewMedia.vue";
2841
2458
 
2842
- var script$1b = {
2459
+ var script$1d = {
2843
2460
  props: ['data'],
2844
2461
  data() {
2845
2462
  let f = this.data.format || 'yyyy-MM-dd';
@@ -3023,14 +2640,6 @@ var script$1b = {
3023
2640
  }
3024
2641
  };
3025
2642
 
3026
- const _hoisted_1$4 = /*#__PURE__*/createTextVNode("年");
3027
- const _hoisted_2$3 = /*#__PURE__*/createTextVNode("月");
3028
- const _hoisted_3$3 = /*#__PURE__*/createTextVNode("日");
3029
- const _hoisted_4$2 = /*#__PURE__*/createTextVNode("时");
3030
- const _hoisted_5$1 = /*#__PURE__*/createTextVNode("分");
3031
- const _hoisted_6$1 = /*#__PURE__*/createTextVNode("秒");
3032
- const _hoisted_7$1 = /*#__PURE__*/createTextVNode("周");
3033
-
3034
2643
  function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3035
2644
  const _component_w_button = resolveComponent("w-button");
3036
2645
  const _component_w_buttonbar = resolveComponent("w-buttonbar");
@@ -3076,21 +2685,21 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3076
2685
  valign: "middle"
3077
2686
  }, {
3078
2687
  default: withCtx(() => [
3079
- _hoisted_1$4
2688
+ createTextVNode("年")
3080
2689
  ]),
3081
2690
  _: 1 /* STABLE */
3082
2691
  }),
3083
2692
  createVNode(_component_w_slidepicker, {
3084
2693
  height: "*",
3085
2694
  modelValue: $data.focusYear,
3086
- "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => ($data.focusYear = $event)),
2695
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.focusYear) = $event)),
3087
2696
  "min-value": $options.minYear,
3088
2697
  "max-value": $options.maxYear,
3089
2698
  "keep-index": true,
3090
2699
  data: {mode: 'year'}
3091
2700
  }, {
3092
2701
  default: withCtx(() => [
3093
- (openBlock(true), createBlock(Fragment, null, renderList($options.yearList, (y) => {
2702
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.yearList, (y) => {
3094
2703
  return (openBlock(), createBlock(_component_w_option, {
3095
2704
  key: y,
3096
2705
  value: y,
@@ -3116,21 +2725,21 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3116
2725
  valign: "middle"
3117
2726
  }, {
3118
2727
  default: withCtx(() => [
3119
- _hoisted_2$3
2728
+ createTextVNode("月")
3120
2729
  ]),
3121
2730
  _: 1 /* STABLE */
3122
2731
  }),
3123
2732
  createVNode(_component_w_slidepicker, {
3124
2733
  height: "*",
3125
2734
  modelValue: $data.focusMonth,
3126
- "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => ($data.focusMonth = $event)),
2735
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.focusMonth) = $event)),
3127
2736
  "min-value": $options.minMonth,
3128
2737
  "max-value": $options.maxMonth,
3129
2738
  "keep-index": true,
3130
2739
  data: {mode: 'month'}
3131
2740
  }, {
3132
2741
  default: withCtx(() => [
3133
- (openBlock(true), createBlock(Fragment, null, renderList($options.monthList, (m) => {
2742
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.monthList, (m) => {
3134
2743
  return (openBlock(), createBlock(_component_w_option, {
3135
2744
  key: m,
3136
2745
  value: m,
@@ -3156,21 +2765,21 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3156
2765
  valign: "middle"
3157
2766
  }, {
3158
2767
  default: withCtx(() => [
3159
- _hoisted_3$3
2768
+ createTextVNode("日")
3160
2769
  ]),
3161
2770
  _: 1 /* STABLE */
3162
2771
  }),
3163
2772
  createVNode(_component_w_slidepicker, {
3164
2773
  height: "*",
3165
2774
  modelValue: $data.focusDate,
3166
- "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => ($data.focusDate = $event)),
2775
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => (($data.focusDate) = $event)),
3167
2776
  "min-value": $options.minDate,
3168
2777
  "max-value": $options.maxDate,
3169
2778
  "keep-index": true,
3170
2779
  data: {mode: 'date'}
3171
2780
  }, {
3172
2781
  default: withCtx(() => [
3173
- (openBlock(true), createBlock(Fragment, null, renderList($options.dateList, (d) => {
2782
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.dateList, (d) => {
3174
2783
  return (openBlock(), createBlock(_component_w_option, {
3175
2784
  key: d,
3176
2785
  value: d,
@@ -3196,20 +2805,20 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3196
2805
  valign: "middle"
3197
2806
  }, {
3198
2807
  default: withCtx(() => [
3199
- _hoisted_4$2
2808
+ createTextVNode("时")
3200
2809
  ]),
3201
2810
  _: 1 /* STABLE */
3202
2811
  }),
3203
2812
  createVNode(_component_w_slidepicker, {
3204
2813
  height: "*",
3205
2814
  modelValue: $data.focusHour,
3206
- "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => ($data.focusHour = $event)),
2815
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => (($data.focusHour) = $event)),
3207
2816
  "min-value": $options.minHour,
3208
2817
  "max-value": $options.maxHour,
3209
2818
  "keep-index": true
3210
2819
  }, {
3211
2820
  default: withCtx(() => [
3212
- (openBlock(true), createBlock(Fragment, null, renderList($options.hourList, (h) => {
2821
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.hourList, (h) => {
3213
2822
  return (openBlock(), createBlock(_component_w_option, {
3214
2823
  key: h,
3215
2824
  value: h,
@@ -3235,20 +2844,20 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3235
2844
  valign: "middle"
3236
2845
  }, {
3237
2846
  default: withCtx(() => [
3238
- _hoisted_5$1
2847
+ createTextVNode("分")
3239
2848
  ]),
3240
2849
  _: 1 /* STABLE */
3241
2850
  }),
3242
2851
  createVNode(_component_w_slidepicker, {
3243
2852
  height: "*",
3244
2853
  modelValue: $data.focusMinute,
3245
- "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => ($data.focusMinute = $event)),
2854
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => (($data.focusMinute) = $event)),
3246
2855
  "min-value": $options.minMinute,
3247
2856
  "max-value": $options.maxMinute,
3248
2857
  "keep-index": true
3249
2858
  }, {
3250
2859
  default: withCtx(() => [
3251
- (openBlock(true), createBlock(Fragment, null, renderList($options.minuteList, (i) => {
2860
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.minuteList, (i) => {
3252
2861
  return (openBlock(), createBlock(_component_w_option, {
3253
2862
  key: i,
3254
2863
  value: i,
@@ -3274,20 +2883,20 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3274
2883
  valign: "middle"
3275
2884
  }, {
3276
2885
  default: withCtx(() => [
3277
- _hoisted_6$1
2886
+ createTextVNode("秒")
3278
2887
  ]),
3279
2888
  _: 1 /* STABLE */
3280
2889
  }),
3281
2890
  createVNode(_component_w_slidepicker, {
3282
2891
  height: "*",
3283
2892
  modelValue: $data.focusSecond,
3284
- "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => ($data.focusSecond = $event)),
2893
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (($data.focusSecond) = $event)),
3285
2894
  "min-value": $options.minSecond,
3286
2895
  "max-value": $options.maxSecond,
3287
2896
  "keep-index": true
3288
2897
  }, {
3289
2898
  default: withCtx(() => [
3290
- (openBlock(true), createBlock(Fragment, null, renderList($options.secondList, (s) => {
2899
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.secondList, (s) => {
3291
2900
  return (openBlock(), createBlock(_component_w_option, {
3292
2901
  key: s,
3293
2902
  value: s,
@@ -3313,20 +2922,20 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3313
2922
  valign: "middle"
3314
2923
  }, {
3315
2924
  default: withCtx(() => [
3316
- _hoisted_7$1
2925
+ createTextVNode("周")
3317
2926
  ]),
3318
2927
  _: 1 /* STABLE */
3319
2928
  }),
3320
2929
  createVNode(_component_w_slidepicker, {
3321
2930
  height: "*",
3322
2931
  modelValue: $data.focusWeek,
3323
- "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => ($data.focusWeek = $event)),
2932
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => (($data.focusWeek) = $event)),
3324
2933
  "min-value": $options.minWeek,
3325
2934
  "max-value": $options.maxWeek,
3326
2935
  "keep-index": true
3327
2936
  }, {
3328
2937
  default: withCtx(() => [
3329
- (openBlock(true), createBlock(Fragment, null, renderList($options.weekList, (w) => {
2938
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.weekList, (w) => {
3330
2939
  return (openBlock(), createBlock(_component_w_option, {
3331
2940
  key: w.value,
3332
2941
  value: w.value,
@@ -3348,12 +2957,12 @@ function render$5(_ctx, _cache, $props, $setup, $data, $options) {
3348
2957
  }))
3349
2958
  }
3350
2959
 
3351
- script$1b.render = render$5;
3352
- script$1b.__file = "src/template/TemplateDateSheet.vue";
2960
+ script$1d.render = render$5;
2961
+ script$1d.__file = "src/template/TemplateDateSheet.vue";
3353
2962
 
3354
- var script$1a = {
2963
+ var script$1c = {
3355
2964
  name: 'w-docview',
3356
- mixins: [script$1k, script$1e],
2965
+ mixins: [script$1i, script$1g],
3357
2966
  provide() {
3358
2967
  return {
3359
2968
  providePubParent: null,
@@ -3374,15 +2983,15 @@ var script$1a = {
3374
2983
  return null
3375
2984
  },
3376
2985
  previewVideo(src) {
3377
- this.pop(script$1c, {data: {type: 'video', src}});
2986
+ this.pop(script$1e, {data: {type: 'video', src}});
3378
2987
  },
3379
2988
  previewImage(imgs, options) {
3380
- this.pop(script$1c, {data: {type: 'image', imgs, options}});
2989
+ this.pop(script$1e, {data: {type: 'image', imgs, options}});
3381
2990
  },
3382
2991
  //dateOptions: {value, format, minValue, maxValue, success}
3383
2992
  dateSheet(dateOptions, dialogOptions) {
3384
- this.pop(script$1b, {
3385
- template: script$1b,
2993
+ this.pop(script$1d, {
2994
+ template: script$1d,
3386
2995
  width: '100%',
3387
2996
  height: '55%',
3388
2997
  position: 'b',
@@ -3398,20 +3007,20 @@ var script$1a = {
3398
3007
  return [
3399
3008
  this.$slots.default && this.$slots.default(),
3400
3009
  this.html_pops(),
3401
- h(script$1d),
3010
+ h(script$1f),
3402
3011
  ]
3403
3012
  }
3404
3013
  }
3405
3014
  };
3406
3015
 
3407
- script$1a.__file = "src/widgets/DocView.vue";
3016
+ script$1c.__file = "src/widgets/DocView.vue";
3408
3017
 
3409
- var script$19 = {
3410
- mixins: [script$1k],
3018
+ var script$1b = {
3019
+ mixins: [script$1i],
3411
3020
  inject: ['provideView']
3412
3021
  };
3413
3022
 
3414
- script$19.__file = "src/widgets/WidgetBase.vue";
3023
+ script$1b.__file = "src/widgets/WidgetBase.vue";
3415
3024
 
3416
3025
  const onScroll = function(e) {
3417
3026
  if (this.wScrollPercentX) {
@@ -3452,8 +3061,8 @@ const onScroll = function(e) {
3452
3061
  }, dnEv);
3453
3062
  };
3454
3063
 
3455
- var script$18 = {
3456
- mixins: [script$19],
3064
+ var script$1a = {
3065
+ mixins: [script$1b],
3457
3066
  props: ['scrollX', 'scrollY', 'scrollView', 'scrollFlex'],
3458
3067
  data() {
3459
3068
  return {
@@ -3739,9 +3348,9 @@ const onScroll = function(e) {
3739
3348
  }
3740
3349
  };
3741
3350
 
3742
- script$18.__file = "src/widgets/Scroll.vue";
3351
+ script$1a.__file = "src/widgets/Scroll.vue";
3743
3352
 
3744
- var script$17 = {
3353
+ var script$19 = {
3745
3354
  props: ['align', 'valign', 'gap'],
3746
3355
  computed: {
3747
3356
  dir() {
@@ -3756,11 +3365,11 @@ var script$17 = {
3756
3365
  }
3757
3366
  };
3758
3367
 
3759
- script$17.__file = "src/widgets/AlignParent.vue";
3368
+ script$19.__file = "src/widgets/AlignParent.vue";
3760
3369
 
3761
- var script$16 = {
3370
+ var script$18 = {
3762
3371
  name: 'w-horizontal',
3763
- mixins: [script$18, script$17],
3372
+ mixins: [script$1a, script$19],
3764
3373
  props: ['br', 'reverse'],
3765
3374
  provide() {
3766
3375
  return {
@@ -3812,11 +3421,11 @@ var script$16 = {
3812
3421
  }
3813
3422
  };
3814
3423
 
3815
- script$16.__file = "src/widgets/Horizontal.vue";
3424
+ script$18.__file = "src/widgets/Horizontal.vue";
3816
3425
 
3817
- var script$15 = {
3426
+ var script$17 = {
3818
3427
  name: 'w-vertical',
3819
- mixins: [script$16],
3428
+ mixins: [script$18],
3820
3429
  computed: {
3821
3430
  dir() {
3822
3431
  return 'v'
@@ -3824,11 +3433,11 @@ var script$15 = {
3824
3433
  }
3825
3434
  };
3826
3435
 
3827
- script$15.__file = "src/widgets/Vertical.vue";
3436
+ script$17.__file = "src/widgets/Vertical.vue";
3828
3437
 
3829
- var script$14 = {
3438
+ var script$16 = {
3830
3439
  name: 'w-view',
3831
- mixins: [script$15, script$1e],
3440
+ mixins: [script$17, script$1g],
3832
3441
  inject: ['provideView'],
3833
3442
  methods: {
3834
3443
  html_slots() {
@@ -3845,7 +3454,7 @@ var script$14 = {
3845
3454
  }
3846
3455
  };
3847
3456
 
3848
- script$14.__file = "src/widgets/View.vue";
3457
+ script$16.__file = "src/widgets/View.vue";
3849
3458
 
3850
3459
  const O = {},
3851
3460
  T = true,
@@ -3862,25 +3471,24 @@ const O = {},
3862
3471
  return typeof a === 'string' && a.split(',').map(v => positionHooks[v] || v).join()
3863
3472
  };
3864
3473
 
3865
- var script$13 = {
3474
+ var script$15 = {
3866
3475
  name: 'w-dialog',
3867
- mixins: [script$14],
3476
+ mixins: [script$16],
3868
3477
  props: ['title', 'autoHide', 'context', 'prong', 'independent', 'timeout',
3869
- 'cover', 'position', 'snap', 'indent', 'local', 'fullScreen', 'hoverShowDrop',
3478
+ 'cover', 'position', 'snap', 'indent', 'local', 'fullScreen', 'hoverShowDrop', 'visible',
3870
3479
  ...boundary
3871
3480
  ],
3872
- emits: ['close', 'click:cover'],
3481
+ emits: ['close', 'click:cover', 'update:visible'],
3873
3482
  data() {
3874
3483
  return {
3875
3484
  isDialog: true,
3876
3485
  keepHover: false,
3877
3486
  hoverTimer: null,
3878
3487
  hoverMove: null,
3879
- closed: false,
3880
3488
  animateState: null,
3881
3489
  isDeactivated: false,
3882
3490
  _pos: null,
3883
- snapStyle: null,
3491
+ snapStyle: null
3884
3492
  }
3885
3493
  },
3886
3494
  activated() {
@@ -3980,14 +3588,14 @@ const O = {},
3980
3588
  }
3981
3589
  },
3982
3590
  close() {
3983
- if (this.closed) return
3591
+ if (this.x.visible === false) return
3984
3592
  this.closeRelease();
3985
3593
  this.trigger('close');
3986
3594
  this.ownerView.removePop(this.uid);
3595
+ this.setVisible(false);
3987
3596
  },
3988
3597
  closeRelease() {
3989
3598
  this.x.autoHide && this.listenHide(F);
3990
- this.closed = true;
3991
3599
  let f = this.x.position;
3992
3600
  if (f && typeof f === 'string' && this.el()) { // 当前窗口关闭后,有相同position的dialog依次移动补空位
3993
3601
  let lc = this._pos;
@@ -4018,7 +3626,7 @@ const O = {},
4018
3626
  this.setListenHide(a);
4019
3627
  } else {
4020
3628
  setTimeout(() => {
4021
- if (!this.closed) {
3629
+ if (this.x.visible !== false) {
4022
3630
  this.setListenHide(a);
4023
3631
  }
4024
3632
  }, 100); // 延时处理,避免出现后立即消失的情况
@@ -4029,25 +3637,26 @@ const O = {},
4029
3637
  let n = a ? 'addEventListener' : 'removeEventListener';
4030
3638
  let evs = $$1.br.mobile ? ['touchend'] : ['mousedown', $$1.br.firefox ? 'DOMMouseScroll' : 'mousewheel'];
4031
3639
  evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {
4032
- if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!this.x.independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander.contains(e.target)))))) {
3640
+ let c;
3641
+ if (this.x.visible !== false && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!this.x.independent && ((c = this.getCommander()).isWidget ? c.hasBubble(e.target) : c.contains(e.target)))))) {
4033
3642
  if (e.target.id == this.id + 'cvr') e.stopPropagation();
4034
3643
  this.close();
4035
3644
  }
4036
3645
  }), T));
4037
3646
  window.plus && plus.key[n]('backbutton', this.bind('close'), F);
4038
3647
  if (d) {
4039
- let o = d === T ? (this.x.snap ? this.snapTargetElem() : $$1.el(this.commander)) : $$1.el(d);
3648
+ let o = d === T ? (this.x.snap ? this.snapTargetElem() : $$1.el(this.getCommander())) : $$1.el(d);
4040
3649
  let hvOver = this.bind('listenHideHoverOver', e => {
4041
3650
  clearTimeout(this.hoverTimer), this.hoverTimer = null;
4042
3651
  });
4043
3652
  let hvMove = this.bind('listenHideHoverMove', e => {
4044
3653
  if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {
4045
3654
  if (!this.hoverTimer)
4046
- this.hoverTimer = setTimeout(this.close, 200);
3655
+ this.hoverTimer = setTimeout(() => {this.close(); hvOver(); }, 200);
4047
3656
  } else
4048
3657
  hvOver();
4049
3658
  });
4050
- [o, this.el()].forEach(v => v[n]('mouseenter', hvOver));
3659
+ [o, this.el()].forEach(v => v && v[n]('mouseenter', hvOver));
4051
3660
  document[n]('mousemove', hvMove);
4052
3661
  }
4053
3662
  },
@@ -4056,13 +3665,32 @@ const O = {},
4056
3665
  this.x.maxHeight = h;
4057
3666
  }
4058
3667
  },
3668
+ setVisible(a) {
3669
+ a = a == null ? true : a;
3670
+ this.x.visible = a;
3671
+ this.$emit('update:visible', a);
3672
+ if (this.slotTarget) {
3673
+ if (a) {
3674
+ this.getTargetElem().setAttribute('w-pop-visible', '');
3675
+ } else {
3676
+ this.getTargetElem().removeAttribute('w-pop-visible');
3677
+ }
3678
+ }
3679
+ },
3680
+ getTargetElem() {
3681
+ return !this.$el ? null : this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el
3682
+ },
4059
3683
  getPop() {
4060
3684
  return this.ownerView.getPopById(this.uid)
4061
3685
  },
4062
3686
  getCommander() {
4063
3687
  if (this.context) return this.context
4064
3688
  let o = this.getPop();
4065
- return (o && o.commander) || this.ownerView
3689
+ if (o) return o.commander
3690
+ if (this.slotTarget) {
3691
+ return this.getTargetElem()
3692
+ }
3693
+ return this.ownerView
4066
3694
  },
4067
3695
  resolve(v) {
4068
3696
  let o = this.getPop();
@@ -4072,6 +3700,9 @@ const O = {},
4072
3700
  let o = this.getPop();
4073
3701
  o && o.reject && o.reject(v);
4074
3702
  },
3703
+ html_slots_default() {
3704
+ return null
3705
+ },
4075
3706
  html_slots() {
4076
3707
  let prong;
4077
3708
  let r = this._pos;
@@ -4088,17 +3719,18 @@ const O = {},
4088
3719
  }),
4089
3720
  ]);
4090
3721
  }
4091
- return [prong || [], this.html_scroll_slots(), this.html_pops()]
3722
+ return [prong || [], this.html_scroll_slots(this.html_slots_default()), this.html_pops()]
4092
3723
  },
4093
3724
  html() {
4094
3725
  let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops';
4095
- let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {
3726
+ let cover = this.x.cover && this.x.visible !== false && !this.isDeactivated ? h('div', {
4096
3727
  ref: 'cover',
4097
3728
  class: 'w-dialog-cover f-abs-full',
4098
3729
  onclick: e => this.trigger('click:cover', e)
4099
3730
  }) : null;
4100
- let s = [cover, this.html_self(true)];
4101
- return to ? h(Teleport, {to}, s) : s
3731
+ let s = [cover, this.html_self(true)];
3732
+ let r = to ? h(Teleport, {to}, s) : s;
3733
+ return this.slotTarget ? [this.slotTarget(), r] : r
4102
3734
  }
4103
3735
  },
4104
3736
  computed: {
@@ -4110,6 +3742,9 @@ const O = {},
4110
3742
  },
4111
3743
  defaultSnapPosition() {
4112
3744
  return 'cc'
3745
+ },
3746
+ slotTarget() {
3747
+ return this.$slots.target
4113
3748
  },
4114
3749
  scope_props() { // 手动获取 data-v-xxxxx 数据,因为Teleport会丢失这部分数据
4115
3750
  let scopeId = this.$.vnode.scopeId || this.$.parent.vnode.scopeId;
@@ -4130,8 +3765,9 @@ const O = {},
4130
3765
  const r = this._pos || O;
4131
3766
  const p = this.x.position;
4132
3767
  return ['w-vertical', this.html_align_class, {
4133
- 'z-hide': this.isDeactivated,
3768
+ 'z-hide': this.isDeactivated || (this.x.visible != null ? !this.x.visible : !!this.slotTarget),
4134
3769
  'z-full': this.x.fullScreen,
3770
+ ['z-face-' + this.x.face]: this.x.face,
4135
3771
  ['z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')]: r.type,
4136
3772
  ['z-snap z-snap-' + r.type]: r.type,
4137
3773
  [`w-dialog-animate-${p}`]: p && typeof p === 'string' && this.animateState != 'animating'
@@ -4173,97 +3809,470 @@ const O = {},
4173
3809
  $$1.q(this.getLocalElem()).addClass('f-dialog-local-wrap');
4174
3810
  }
4175
3811
  this.$nextTick(() => {
4176
- this.x.autoHide && this.listenHide(T);
4177
3812
  this.$watch(() => this.x.position, this.axis);
3813
+ this.$watch(() => this.x.visible, (vis) => {
3814
+ if (vis !== false) {
3815
+ this.x.autoHide && this.listenHide(T);
3816
+ this.axis();
3817
+ }
3818
+ }, {immediate: true});
4178
3819
  setTimeout(this.axis);
3820
+ if (this.slotTarget) {
3821
+ let el = this.getTargetElem();
3822
+ if (el) {
3823
+ if (this.hoverShowDrop) {
3824
+ el.addEventListener('mouseenter', () => this.visible == null && this.setVisible(), false);
3825
+ } else {
3826
+ el.addEventListener('click', (e) => {e.stopPropagation(); this.visible == null && this.setVisible();}, false);
3827
+ }
3828
+ }
3829
+ }
4179
3830
  const observe = (o) => {
4180
- if (this.closed || this.animateState == 'animating' || !this.el()) return
3831
+ if (this.x.visible === false || this.animateState == 'animating' || !this.el()) return
4181
3832
  this.axis();
4182
3833
  };
4183
3834
  new ResizeObserver$1(observe).observe(this.el());
4184
3835
  if (this.x.timeout) {
4185
3836
  setTimeout(this.close, this.x.timeout);
4186
3837
  }
3838
+ let o = this.getPop();
3839
+ if (o && o.options && o.options.init) {
3840
+ o.options.init(this);
3841
+ }
4187
3842
  });
4188
3843
  },
4189
3844
  unmounted() {
4190
- if (!this.closed) {
3845
+ if (this.x.visible !== false) {
4191
3846
  this.closeRelease();
4192
3847
  }
4193
3848
  }
4194
3849
  };
4195
3850
 
4196
- script$13.__file = "src/widgets/Dialog.vue";
3851
+ script$15.__file = "src/widgets/Dialog.vue";
3852
+
3853
+ const _hoisted_1$7 = /*#__PURE__*/createElementVNode("i", { class: "w-alert-close-icon f-i f-i-close" }, null, -1 /* HOISTED */);
3854
+
3855
+
3856
+ var script$14 = {
3857
+ __name: 'TemplateAlert',
3858
+ props: ['text', 'escape', 'title', 'icon', 'showButton'],
3859
+ emits: ['save', 'close'],
3860
+ setup(__props, { emit }) {
3861
+
3862
+ const {icon} = __props;
3863
+
3864
+
3865
+
3866
+
3867
+
3868
+ const icons = {
3869
+ info: '.f-i .f-i-alert-info',
3870
+ warning: '.f-i .f-i-alert-warning',
3871
+ success: '.f-i .f-i-alert-success',
3872
+ question: '.f-i .f-i-alert-question',
3873
+ error: '.f-i .f-i-alert-error'
3874
+ };
3875
+
3876
+ const save = () => {
3877
+ emit('save');
3878
+ };
3879
+
3880
+ const close = () => {
3881
+ emit('close');
3882
+ };
3883
+
3884
+ const typeIcon = computed(() => {
3885
+ return icons[icon] || icon || icons['info']
3886
+ });
3887
+
3888
+ return (_ctx, _cache) => {
3889
+ const _component_w_html = resolveComponent("w-html");
3890
+ const _component_w_vertical = resolveComponent("w-vertical");
3891
+ const _component_w_horizontal = resolveComponent("w-horizontal");
3892
+ const _component_w_img = resolveComponent("w-img");
3893
+ const _component_w_button = resolveComponent("w-button");
3894
+ const _component_w_buttonbar = resolveComponent("w-buttonbar");
3895
+ const _directive_dialog_move = resolveDirective("dialog-move");
3896
+
3897
+ return (openBlock(), createBlock(_component_w_vertical, { class: "w-alert-wrap" }, {
3898
+ default: withCtx(() => [
3899
+ createVNode(_component_w_horizontal, { class: "w-alert-head" }, {
3900
+ default: withCtx(() => [
3901
+ withDirectives((openBlock(), createBlock(_component_w_vertical, {
3902
+ class: "w-alert-move",
3903
+ "w-width": "*"
3904
+ }, {
3905
+ default: withCtx(() => [
3906
+ createVNode(_component_w_html, {
3907
+ class: "w-alert-title",
3908
+ valign: "middle",
3909
+ height: "*",
3910
+ innerHTML: __props.title
3911
+ }, null, 8 /* PROPS */, ["innerHTML"])
3912
+ ]),
3913
+ _: 1 /* STABLE */
3914
+ })), [
3915
+ [_directive_dialog_move, true]
3916
+ ]),
3917
+ createVNode(_component_w_html, {
3918
+ class: "w-alert-close",
3919
+ align: "center",
3920
+ valign: "middle",
3921
+ onClick: close
3922
+ }, {
3923
+ default: withCtx(() => [
3924
+ _hoisted_1$7
3925
+ ]),
3926
+ _: 1 /* STABLE */
3927
+ })
3928
+ ]),
3929
+ _: 1 /* STABLE */
3930
+ }),
3931
+ createVNode(_component_w_vertical, { class: "w-alert-body" }, {
3932
+ default: withCtx(() => [
3933
+ createVNode(_component_w_horizontal, { class: "w-alert-main" }, {
3934
+ default: withCtx(() => [
3935
+ createVNode(_component_w_img, {
3936
+ class: "w-alert-icon",
3937
+ src: unref(typeIcon)
3938
+ }, null, 8 /* PROPS */, ["src"]),
3939
+ renderSlot(_ctx.$slots, "default", { width: "*" }, () => [
3940
+ (__props.escape)
3941
+ ? (openBlock(), createBlock(_component_w_html, {
3942
+ key: 0,
3943
+ width: "*",
3944
+ class: "w-alert-text"
3945
+ }, {
3946
+ default: withCtx(() => [
3947
+ createTextVNode(toDisplayString(__props.text), 1 /* TEXT */)
3948
+ ]),
3949
+ _: 1 /* STABLE */
3950
+ }))
3951
+ : (openBlock(), createBlock(_component_w_html, {
3952
+ key: 1,
3953
+ width: "*",
3954
+ class: "w-alert-text",
3955
+ innerHTML: __props.text
3956
+ }, null, 8 /* PROPS */, ["innerHTML"]))
3957
+ ])
3958
+ ]),
3959
+ _: 3 /* FORWARDED */
3960
+ }),
3961
+ (__props.showButton!==false)
3962
+ ? (openBlock(), createBlock(_component_w_buttonbar, {
3963
+ key: 0,
3964
+ class: "w-alert-buttonbar"
3965
+ }, {
3966
+ default: withCtx(() => [
3967
+ createVNode(_component_w_button, {
3968
+ face: "primary",
3969
+ class: "w-alert-button",
3970
+ text: "确定",
3971
+ onClick: save,
3972
+ ownproperty: true
3973
+ })
3974
+ ]),
3975
+ _: 1 /* STABLE */
3976
+ }))
3977
+ : createCommentVNode("v-if", true)
3978
+ ]),
3979
+ _: 3 /* FORWARDED */
3980
+ })
3981
+ ]),
3982
+ _: 3 /* FORWARDED */
3983
+ }))
3984
+ }
3985
+ }
3986
+
3987
+ };
3988
+
3989
+ script$14.__file = "src/template/TemplateAlert.vue";
4197
3990
 
4198
- var script$12 = {
3991
+ var script$13 = {
4199
3992
  name: 'w-alert',
4200
- mixins: [script$13],
4201
- props: ['text', 'yes', 'no', 'showButton'],
4202
- unmounted() {
4203
- this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no);
4204
- },
3993
+ mixins: [script$15],
3994
+ props: ['text', 'title', 'escape', 'yes', 'no', 'showButton'],
4205
3995
  methods: {
4206
- cueYes() {
4207
- this.resolve();
4208
- this.close();
3996
+ x_default() {
3997
+ return {
3998
+ title: $$1.loc.opertip
3999
+ }
4209
4000
  },
4210
- cueNo() {
4001
+ onSave() {
4002
+ this.x.yes && this.x.yes();
4003
+ this.resolve();
4211
4004
  this.close();
4212
4005
  },
4213
- cue(a) {
4214
- a && a();
4006
+ onClose() {
4007
+ this.onSave();
4008
+ },
4009
+ html_slots_default() {
4010
+ return h(
4011
+ script$14,
4012
+ {
4013
+ text: this.x.text,
4014
+ title: this.x.title,
4015
+ icon: this.x.icon,
4016
+ escape: this.x.escape,
4017
+ showButton: this.x.showButton,
4018
+ onSave: this.onSave,
4019
+ onClose: this.onClose,
4020
+ },
4021
+ this.$slots
4022
+ )
4215
4023
  }
4216
4024
  }
4217
4025
  };
4218
4026
 
4219
- script$12.__file = "src/widgets/Alert.vue";
4027
+ script$13.__file = "src/widgets/Alert.vue";
4028
+
4029
+ const _hoisted_1$6 = /*#__PURE__*/createElementVNode("i", { class: "w-alert-close-icon f-i f-i-close" }, null, -1 /* HOISTED */);
4030
+
4031
+
4032
+ var script$12 = {
4033
+ __name: 'TemplateConfirm',
4034
+ props: ['text', 'escape', 'title', 'icon', 'showButton'],
4035
+ emits: ['save', 'close'],
4036
+ setup(__props, { emit }) {
4037
+
4038
+ const {icon} = __props;
4039
+
4040
+
4041
+
4042
+
4043
+
4044
+ const icons = {
4045
+ info: '.f-i .f-i-alert-info',
4046
+ warning: '.f-i .f-i-alert-warning',
4047
+ success: '.f-i .f-i-alert-success',
4048
+ question: '.f-i .f-i-alert-question',
4049
+ error: '.f-i .f-i-alert-error'
4050
+ };
4051
+
4052
+ const save = () => {
4053
+ emit('save');
4054
+ };
4055
+
4056
+ const close = () => {
4057
+ emit('close');
4058
+ };
4059
+
4060
+ const typeIcon = computed(() => {
4061
+ return icons[icon] || icon || icons['question']
4062
+ });
4063
+
4064
+ return (_ctx, _cache) => {
4065
+ const _component_w_html = resolveComponent("w-html");
4066
+ const _component_w_vertical = resolveComponent("w-vertical");
4067
+ const _component_w_horizontal = resolveComponent("w-horizontal");
4068
+ const _component_w_img = resolveComponent("w-img");
4069
+ const _component_w_button = resolveComponent("w-button");
4070
+ const _component_w_buttonbar = resolveComponent("w-buttonbar");
4071
+ const _directive_dialog_move = resolveDirective("dialog-move");
4072
+
4073
+ return (openBlock(), createBlock(_component_w_vertical, { class: "w-alert-wrap" }, {
4074
+ default: withCtx(() => [
4075
+ createVNode(_component_w_horizontal, { class: "w-alert-head" }, {
4076
+ default: withCtx(() => [
4077
+ withDirectives((openBlock(), createBlock(_component_w_vertical, {
4078
+ class: "w-alert-move",
4079
+ "w-width": "*"
4080
+ }, {
4081
+ default: withCtx(() => [
4082
+ createVNode(_component_w_html, {
4083
+ class: "w-alert-title",
4084
+ valign: "middle",
4085
+ height: "*",
4086
+ innerHTML: __props.title
4087
+ }, null, 8 /* PROPS */, ["innerHTML"])
4088
+ ]),
4089
+ _: 1 /* STABLE */
4090
+ })), [
4091
+ [_directive_dialog_move, true]
4092
+ ]),
4093
+ createVNode(_component_w_html, {
4094
+ class: "w-alert-close",
4095
+ align: "center",
4096
+ valign: "middle",
4097
+ onClick: close
4098
+ }, {
4099
+ default: withCtx(() => [
4100
+ _hoisted_1$6
4101
+ ]),
4102
+ _: 1 /* STABLE */
4103
+ })
4104
+ ]),
4105
+ _: 1 /* STABLE */
4106
+ }),
4107
+ createVNode(_component_w_vertical, { class: "w-alert-body" }, {
4108
+ default: withCtx(() => [
4109
+ createVNode(_component_w_horizontal, {
4110
+ class: "w-alert-main",
4111
+ valign: "middle"
4112
+ }, {
4113
+ default: withCtx(() => [
4114
+ createVNode(_component_w_img, {
4115
+ class: "w-alert-icon",
4116
+ src: unref(typeIcon)
4117
+ }, null, 8 /* PROPS */, ["src"]),
4118
+ renderSlot(_ctx.$slots, "default", { width: "*" }, () => [
4119
+ (__props.escape)
4120
+ ? (openBlock(), createBlock(_component_w_html, {
4121
+ key: 0,
4122
+ width: "*",
4123
+ class: "w-alert-text"
4124
+ }, {
4125
+ default: withCtx(() => [
4126
+ createTextVNode(toDisplayString(__props.text), 1 /* TEXT */)
4127
+ ]),
4128
+ _: 1 /* STABLE */
4129
+ }))
4130
+ : (openBlock(), createBlock(_component_w_html, {
4131
+ key: 1,
4132
+ width: "*",
4133
+ class: "w-alert-text",
4134
+ innerHTML: __props.text
4135
+ }, null, 8 /* PROPS */, ["innerHTML"]))
4136
+ ])
4137
+ ]),
4138
+ _: 3 /* FORWARDED */
4139
+ }),
4140
+ createVNode(_component_w_buttonbar, {
4141
+ gap: "10",
4142
+ class: "w-alert-buttonbar"
4143
+ }, {
4144
+ default: withCtx(() => [
4145
+ createVNode(_component_w_button, {
4146
+ face: "primary",
4147
+ class: "w-alert-button",
4148
+ text: "确定",
4149
+ onClick: save,
4150
+ ownproperty: true
4151
+ }),
4152
+ createVNode(_component_w_button, {
4153
+ class: "w-alert-button",
4154
+ text: "取消",
4155
+ onClick: close,
4156
+ ownproperty: true
4157
+ })
4158
+ ]),
4159
+ _: 1 /* STABLE */
4160
+ })
4161
+ ]),
4162
+ _: 3 /* FORWARDED */
4163
+ })
4164
+ ]),
4165
+ _: 3 /* FORWARDED */
4166
+ }))
4167
+ }
4168
+ }
4169
+
4170
+ };
4171
+
4172
+ script$12.__file = "src/template/TemplateConfirm.vue";
4220
4173
 
4221
4174
  var script$11 = {
4222
4175
  name: 'w-confirm',
4223
- mixins: [script$12],
4176
+ mixins: [script$15],
4177
+ props: ['text', 'title', 'escape', 'yes', 'no', 'showButton'],
4224
4178
  methods: {
4225
- cueYes() {
4226
- this.cue(this.x.yes);
4227
- this.x.no = null;
4228
- this.resolve();
4179
+ x_default() {
4180
+ return {
4181
+ title: $$1.loc.opertip
4182
+ }
4183
+ },
4184
+ onSave() {
4185
+ this.x.yes && this.x.yes();
4186
+ this.resolve();
4229
4187
  this.close();
4230
4188
  },
4231
- cueNo() {
4189
+ onClose() {
4190
+ this.x.no && this.x.no();
4232
4191
  this.close();
4233
4192
  },
4234
- },
4235
- computed: {
4236
- html_prop_class() {
4237
- return 'w-alert w-dialog w-vertical'
4193
+ html_slots_default() {
4194
+ return h(
4195
+ script$12,
4196
+ {
4197
+ text: this.x.text,
4198
+ title: this.x.title,
4199
+ icon: this.x.icon,
4200
+ escape: this.x.escape,
4201
+ showButton: this.x.showButton,
4202
+ onSave: this.onSave,
4203
+ onClose: this.onClose,
4204
+ },
4205
+ this.$slots
4206
+ )
4238
4207
  }
4239
4208
  }
4240
4209
  };
4241
4210
 
4242
4211
  script$11.__file = "src/widgets/Confirm.vue";
4243
4212
 
4213
+ const _hoisted_1$5 = { class: "w-tip-body" };
4214
+ const _hoisted_2$5 = {
4215
+ key: 0,
4216
+ class: "w-tip-text"
4217
+ };
4218
+ const _hoisted_3$3 = ["innerHTML"];
4219
+
4220
+
4221
+ var script$10 = {
4222
+ __name: 'TemplateTip',
4223
+ props: ['text', 'escape'],
4224
+ setup(__props) {
4225
+
4226
+
4227
+
4228
+ return (_ctx, _cache) => {
4229
+ return (openBlock(), createElementBlock("div", _hoisted_1$5, [
4230
+ renderSlot(_ctx.$slots, "text", {}, () => [
4231
+ (__props.escape)
4232
+ ? (openBlock(), createElementBlock("div", _hoisted_2$5, toDisplayString(__props.text), 1 /* TEXT */))
4233
+ : (openBlock(), createElementBlock("div", {
4234
+ key: 1,
4235
+ class: "w-tip-text",
4236
+ innerHTML: __props.text
4237
+ }, null, 8 /* PROPS */, _hoisted_3$3))
4238
+ ])
4239
+ ]))
4240
+ }
4241
+ }
4242
+
4243
+ };
4244
+
4245
+ script$10.__file = "src/template/TemplateTip.vue";
4246
+
4244
4247
  let inst$1 = null;
4245
4248
  let tipCache = {
4246
4249
  time: new Date().getTime()
4247
4250
  };
4248
4251
 
4249
- var script$10 = {
4252
+ var script$$ = {
4250
4253
  name: 'w-tip',
4251
- mixins: [script$13],
4252
- props: ['text', 'face'],
4254
+ mixins: [script$15],
4255
+ props: ['face', 'text', 'escape'],
4253
4256
  methods: {
4254
4257
  x_default() {
4255
4258
  return {
4256
4259
  prong: true,
4257
4260
  autoHide: true,
4261
+ face: 'normal',
4262
+ escape: true,
4258
4263
  }
4259
4264
  },
4265
+ html_slots_default() {
4266
+ return h(script$10, {text: this.x.text, escape: this.x.escape}, this.$slots)
4267
+ }
4260
4268
  },
4261
4269
  computed: {
4262
- html_class() {
4263
- return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)
4270
+ slotTarget() {
4271
+ return this.$slots.default
4264
4272
  },
4265
4273
  defaultSnapTargetElem() {
4266
- return this.commander.snapElem()
4274
+ const c = this.commander;
4275
+ return c.snapElem ? c.snapElem() : c
4267
4276
  },
4268
4277
  defaultSnapPosition() {
4269
4278
  return '-t,-r,-b,-l,-tl,-tr,-rt,-tb,-bl,-br,-lt,-lb,c'
@@ -4279,12 +4288,12 @@ let inst$1 = null;
4279
4288
  }
4280
4289
  };
4281
4290
 
4282
- script$10.__file = "src/widgets/Tip.vue";
4291
+ script$$.__file = "src/widgets/Tip.vue";
4283
4292
 
4284
- var script$$ = {
4293
+ var script$_ = {
4285
4294
  name: 'w-img',
4286
4295
  pubParentName: 'w-album',
4287
- mixins: [script$19],
4296
+ mixins: [script$1b],
4288
4297
  inject: ['providePubParent'],
4289
4298
  props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical', 'disabled'],
4290
4299
  data() {
@@ -4330,7 +4339,7 @@ var script$$ = {
4330
4339
  class: 'w-img-cover f-abs-full'
4331
4340
  }, this.$slots.cover())
4332
4341
  ]),
4333
- cont && h(script$15, {
4342
+ cont && h(script$17, {
4334
4343
  class: 'w-img-description'
4335
4344
  }, cont)
4336
4345
  ]
@@ -4364,12 +4373,12 @@ var script$$ = {
4364
4373
  }
4365
4374
  };
4366
4375
 
4367
- script$$.__file = "src/widgets/Img.vue";
4376
+ script$_.__file = "src/widgets/Img.vue";
4368
4377
 
4369
- var script$_ = {
4378
+ var script$Z = {
4370
4379
  name: 'w-button',
4371
4380
  pubParentName: 'w-buttonbar',
4372
- mixins: [script$19],
4381
+ mixins: [script$1b],
4373
4382
  props: ['text', 'icon', 'focusIcon', 'face', 'target', 'closable', 'loading', 'disabled', 'vertical', 'hoverShowDrop', 'dropProps', 'dropIcon', 'showDropIcon'],
4374
4383
  inject: ['providePubParent'],
4375
4384
  emits: ['click:close', 'dropClose'],
@@ -4463,7 +4472,7 @@ var script$_ = {
4463
4472
  if (this.x.loading) {
4464
4473
  r.push(h('div', {
4465
4474
  class: 'w-button-loading f-abs-full f-flex-center'
4466
- }, h(script$$, {
4475
+ }, h(script$_, {
4467
4476
  src: '#f-svg-loading'
4468
4477
  })));
4469
4478
  }
@@ -4478,7 +4487,7 @@ var script$_ = {
4478
4487
  }, h('span', {class: 'w-button-text-line f-line-1', title}, t)));
4479
4488
  }
4480
4489
  if (this.isMore && this.x.showDropIcon) {
4481
- r.push(h(script$$, {
4490
+ r.push(h(script$_, {
4482
4491
  class: 'w-button-more f-flex-center f-height',
4483
4492
  src: this.x.dropIcon || '.f-i .f-i-caret-down'
4484
4493
  }));
@@ -4496,7 +4505,7 @@ var script$_ = {
4496
4505
  class: 'w-button-main f-oh f-height',
4497
4506
  ...(this.isCombo && !this.isDisabled && this.mouses),
4498
4507
  }, r),
4499
- this.isCombo && h(script$$, {
4508
+ this.isCombo && h(script$_, {
4500
4509
  class: 'w-button-drop f-flex-center f-height',
4501
4510
  src: this.x.dropIcon || '.f-i .f-i-caret-down',
4502
4511
  ...(!this.isDisabled && this.mouses),
@@ -4543,11 +4552,11 @@ var script$_ = {
4543
4552
  }
4544
4553
  };
4545
4554
 
4546
- script$_.__file = "src/widgets/Button.vue";
4555
+ script$Z.__file = "src/widgets/Button.vue";
4547
4556
 
4548
- var script$Z = {
4557
+ var script$Y = {
4549
4558
  name: 'w-menubutton',
4550
- mixins: [script$_],
4559
+ mixins: [script$Z],
4551
4560
  methods: {
4552
4561
  ajax(...args) {
4553
4562
  return this.parentMenu.rootCommander.ajax(...args)
@@ -4610,7 +4619,7 @@ var script$Z = {
4610
4619
  onclick: this.clickClose
4611
4620
  })));
4612
4621
  }
4613
- r.push(h(script$$, {
4622
+ r.push(h(script$_, {
4614
4623
  class: 'w-menubutton-drop f-flex-center f-height',
4615
4624
  src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''
4616
4625
  }));
@@ -4660,7 +4669,7 @@ var script$Z = {
4660
4669
  },
4661
4670
  };
4662
4671
 
4663
- script$Z.__file = "src/widgets/MenuButton.vue";
4672
+ script$Y.__file = "src/widgets/MenuButton.vue";
4664
4673
 
4665
4674
  let inst = null;
4666
4675
 
@@ -4675,9 +4684,9 @@ let inst = null;
4675
4684
  return inst && (ctx.hasBubble(inst.context) || inst.hasBubble(ctx))
4676
4685
  }
4677
4686
 
4678
- var script$Y = {
4687
+ var script$X = {
4679
4688
  name: 'w-menu',
4680
- mixins: [script$13],
4689
+ mixins: [script$15],
4681
4690
  methods: {
4682
4691
  x_default() {
4683
4692
  return {
@@ -4700,7 +4709,7 @@ let inst = null;
4700
4709
  },
4701
4710
  getRoot() {
4702
4711
  let c = this;
4703
- while (c.getCommander().isWidget && c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu;
4712
+ while (c.getCommander() && c.getCommander().isWidget && c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu;
4704
4713
  return c
4705
4714
  },
4706
4715
  // implement
@@ -4732,8 +4741,8 @@ let inst = null;
4732
4741
  },
4733
4742
  html_buttons() {
4734
4743
  return this.slots_children().map(s => {
4735
- if (s.type === script$_) {
4736
- s.type = script$Z;
4744
+ if (s.type === script$Z) {
4745
+ s.type = script$Y;
4737
4746
  }
4738
4747
  return s
4739
4748
  })
@@ -4746,7 +4755,7 @@ let inst = null;
4746
4755
  }, h('i', {
4747
4756
  class: 'f-i f-i-caret-up'
4748
4757
  })),
4749
- h(script$15, {
4758
+ h(script$17, {
4750
4759
  class: 'w-menu-bbr',
4751
4760
  height: '*',
4752
4761
  ref: 'bbr',
@@ -4776,21 +4785,25 @@ let inst = null;
4776
4785
  return p
4777
4786
  },
4778
4787
  defaultSnapTargetElem() {
4779
- return this.commander.isWidget ? this.commander.snapElem() : this.commander
4788
+ let c = this.getCommander();
4789
+ if (c)
4790
+ return c.isWidget ? c.snapElem() : c
4780
4791
  },
4781
4792
  defaultSnapPosition() {
4782
4793
  return '-bl,-br,-tl,-tr'
4783
4794
  },
4784
4795
  scope_props() { // implement Dialog.scope_props
4785
- const cmd = $$1(this.rootCommander);
4786
- let scopeId = cmd.$.vnode.scopeId || this.$.vnode.scopeId || this.$.parent.vnode.scopeId;
4787
- if (scopeId) {
4788
- return {[`${scopeId}`]: ''}
4789
- }
4796
+ if (this.rootCommander) {
4797
+ const cmd = $$1(this.rootCommander);
4798
+ let scopeId = cmd.$.vnode.scopeId || this.$.vnode.scopeId || this.$.parent.vnode.scopeId;
4799
+ if (scopeId) {
4800
+ return {[`${scopeId}`]: ''}
4801
+ }
4802
+ }
4790
4803
  }
4791
4804
  },
4792
4805
  mounted() {
4793
- if (this.context && this.context.$options && this.context.$options.name !== 'w-menubutton') {
4806
+ if (!this.context || (this.context.$options && this.context.$options.name !== 'w-menubutton')) {
4794
4807
  if (inst) {
4795
4808
  $$1.close(inst);
4796
4809
  }
@@ -4799,11 +4812,11 @@ let inst = null;
4799
4812
  }
4800
4813
  };
4801
4814
 
4802
- script$Y.__file = "src/widgets/Menu.vue";
4815
+ script$X.__file = "src/widgets/Menu.vue";
4803
4816
 
4804
- var script$X = {
4817
+ var script$W = {
4805
4818
  name: 'w-loading',
4806
- mixins: [script$13],
4819
+ mixins: [script$15],
4807
4820
  props: ['text', 'icon'],
4808
4821
  methods: {
4809
4822
  x_default() {
@@ -4812,7 +4825,7 @@ var script$X = {
4812
4825
  }
4813
4826
  },
4814
4827
  html_slots() {
4815
- return h(script$$, {
4828
+ return h(script$_, {
4816
4829
  src: this.x.icon !== undefined ? this.x.icon : '#f-svg-loading',
4817
4830
  text: this.x.text !== undefined ? this.x.text : $$1.loc.loading
4818
4831
  })
@@ -4825,87 +4838,11 @@ var script$X = {
4825
4838
  }
4826
4839
  };
4827
4840
 
4828
- script$X.__file = "src/widgets/Loading.vue";
4829
-
4830
- var script$W = {
4831
- name: 'w-pop',
4832
- mixins: [script$19],
4833
- props: ['hoverShowDrop'],
4834
- data() {
4835
- return {
4836
- showPop: false
4837
- }
4838
- },
4839
- methods: {
4840
- onclick(e) {
4841
- e.stopPropagation();
4842
- this.show();
4843
- },
4844
- onclose() {
4845
- this.show(false);
4846
- },
4847
- onmouseenter() {
4848
- this.show();
4849
- },
4850
- show(a) {
4851
- a = a == null ? true : a;
4852
- this.showPop = a;
4853
- if (a) {
4854
- this.el().setAttribute('w-pop-show', '');
4855
- } else {
4856
- this.el().removeAttribute('w-pop-show');
4857
- }
4858
- },
4859
- el() {
4860
- let el = this.$el;
4861
- return el.nodeType === 3 ? el.nextElementSibling : el
4862
- }
4863
- },
4864
- mounted() {
4865
- let el = this.el();
4866
- if (el) {
4867
- if (this.hoverShowDrop) {
4868
- el.addEventListener('mouseenter', this.onmouseenter, false);
4869
- } else {
4870
- el.addEventListener('click', this.onclick, false);
4871
- }
4872
- }
4873
- },
4874
- unmounted() {
4875
- let el = this.el();
4876
- if (el) {
4877
- el.removeEventListener('click', this.onclick);
4878
- } else {
4879
- el.removeEventListener('mouseenter', this.onmouseenter);
4880
- }
4881
- },
4882
- render() {
4883
- let rt = [];
4884
- if (this.$slots.default) {
4885
- rt.push(this.$slots.default());
4886
- }
4887
- if (this.$slots.pop && this.showPop) {
4888
- let pop = this.$slots.pop().map(n => {
4889
- if (!n.props) n.props = {};
4890
- const props = {context: this.el(), onClose: this.onclose};
4891
- if (this.x.hoverShowDrop) {
4892
- props.hoverShowDrop = true;
4893
- props.autoHide = true;
4894
- }
4895
- $$1.extend(n.props, props);
4896
- return n
4897
- });
4898
- rt.push(pop);
4899
- }
4900
- return rt
4901
- }
4902
- };
4903
-
4904
- script$W.__file = "src/widgets/Pop.vue";
4841
+ script$W.__file = "src/widgets/Loading.vue";
4905
4842
 
4906
4843
  var script$V = {
4907
4844
  name: 'w-table',
4908
- mixins: [script$19],
4845
+ mixins: [script$1b],
4909
4846
  props: ['face', 'scroll-x', 'scroll-y'],
4910
4847
  provide() {
4911
4848
  return {
@@ -5032,7 +4969,7 @@ script$S.__file = "src/widgets/PubParent.vue";
5032
4969
 
5033
4970
  var script$R = {
5034
4971
  name: 'w-thead',
5035
- mixins: [script$19, script$S],
4972
+ mixins: [script$1b, script$S],
5036
4973
  props: ['br', 'sort'],
5037
4974
  inject: ['_provideTable'],
5038
4975
  provide() {
@@ -5116,7 +5053,7 @@ script$R.__file = "src/widgets/TableTHead.vue";
5116
5053
 
5117
5054
  var script$Q = {
5118
5055
  name: 'w-tbody',
5119
- mixins: [script$R, script$18],
5056
+ mixins: [script$R, script$1a],
5120
5057
  inject: ['_provideTable'],
5121
5058
  props: ['children'],
5122
5059
  provide() {
@@ -5133,6 +5070,7 @@ var script$Q = {
5133
5070
  }, {
5134
5071
  immediate: true
5135
5072
  });
5073
+ this.$watch('current', () => this.viewCurrent());
5136
5074
  },
5137
5075
  methods: {
5138
5076
  getCurrent() {
@@ -5140,11 +5078,13 @@ var script$Q = {
5140
5078
  return tr && $$1(tr)
5141
5079
  },
5142
5080
  viewCurrent(f) {
5143
- f = f || this.getCurrent();
5144
- if (f) {
5145
- f.expandToView();
5146
- this.$nextTick(() => f.scrollIntoView({x: 'left'}));
5147
- }
5081
+ this.$nextTick(() => {
5082
+ f = f || this.getCurrent();
5083
+ if (f) {
5084
+ f.expandToView();
5085
+ this.$nextTick(() => f.scrollIntoView());
5086
+ }
5087
+ });
5148
5088
  },
5149
5089
  onScroll(e) {
5150
5090
  let hd = this._provideTable.slotHooks.thead;
@@ -5186,7 +5126,7 @@ script$Q.__file = "src/widgets/TableTBody.vue";
5186
5126
  var script$P = {
5187
5127
  name: 'w-tr',
5188
5128
  pubParentName: 'w-tbody,w-thead',
5189
- mixins: [script$19, script$1j],
5129
+ mixins: [script$1b, script$1h],
5190
5130
  props: ['rowIndex', 'expanded', 'children'],
5191
5131
  inject: ['_provideTable', 'providePubParent', 'provideInBody', '_provideTBody', 'provideLevel', 'provideParentTR'],
5192
5132
  provide() {
@@ -5341,7 +5281,7 @@ script$O.__file = "src/widgets/TableTD.vue";
5341
5281
 
5342
5282
  var script$N = {
5343
5283
  name: 'w-th',
5344
- mixins: [script$O, script$19],
5284
+ mixins: [script$O, script$1b],
5345
5285
  props: ['sortable', 'sortOrders', 'sortOrderDefault'],
5346
5286
  inject: ['_provideThead'],
5347
5287
  emits: ['click:sort'],
@@ -5376,7 +5316,7 @@ var script$N = {
5376
5316
  this.$emit('click:sort', e, o);
5377
5317
  },
5378
5318
  html_slots() {
5379
- return h(script$16, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [
5319
+ return h(script$18, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [
5380
5320
  h('div', {class: 'w-th-title'}, this.$slots),
5381
5321
  this.x.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [
5382
5322
  h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),
@@ -5405,7 +5345,7 @@ script$N.__file = "src/widgets/TableTH.vue";
5405
5345
 
5406
5346
  var script$M = {
5407
5347
  name: 'w-grid',
5408
- mixins: [script$18],
5348
+ mixins: [script$1a],
5409
5349
  props: ['columns', 'rows', 'gap', 'defaultColspan', 'face', 'labelWidth'],
5410
5350
  methods: {
5411
5351
  x_default() {
@@ -5453,7 +5393,7 @@ var script$L = {
5453
5393
  name: 'w-swiper-item',
5454
5394
  pubParentName: 'w-swiper',
5455
5395
  inject: ['providePubParent'],
5456
- mixins: [script$19],
5396
+ mixins: [script$1b],
5457
5397
  props: ['lazy'],
5458
5398
  data() {
5459
5399
  return {
@@ -5490,7 +5430,7 @@ script$L.__file = "src/widgets/SwiperItem.vue";
5490
5430
 
5491
5431
  var script$K = {
5492
5432
  name: 'w-swiper',
5493
- mixins: [script$19, script$S],
5433
+ mixins: [script$1b, script$S],
5494
5434
  props: ['arrow', 'indicatorDots', 'duration'],
5495
5435
  data() {
5496
5436
  return {
@@ -5579,7 +5519,7 @@ script$K.__file = "src/widgets/Swiper.vue";
5579
5519
 
5580
5520
  var script$J = {
5581
5521
  name: 'w-buttonbar',
5582
- mixins: [script$16, script$S],
5522
+ mixins: [script$18, script$S],
5583
5523
  props: ['vertical'],
5584
5524
  emits: ['click:item'],
5585
5525
  methods: {
@@ -5661,7 +5601,8 @@ var script$I = {
5661
5601
  this.el().removeAttribute('w-tabbar-fixed-quickclosebutton');
5662
5602
  this.resizeObserver++;
5663
5603
  }
5664
- $$1(e).vis();
5604
+ const b = $$1(e);
5605
+ b && b.vis && b.vis();
5665
5606
  },
5666
5607
  onBeforeLeave(e) {
5667
5608
  if (!e.nextElementSibling) {
@@ -5691,7 +5632,7 @@ var script$I = {
5691
5632
  },
5692
5633
  html_slots() {
5693
5634
  let group = h(TransitionGroup, {name: 'w-tabbar', onBeforeEnter: this.onBeforeEnter, onAfterEnter: this.onAfterEnter, onBeforeLeave: this.onBeforeLeave, onAfterLeave: this.onAfterLeave}, {default: () => this.buttons});
5694
- let gut = [h(this.x.vertical ? script$15 : script$16, {ref: 'gut', class: 'w-tabbar-gut', gap: this.x.gap, align: this.x.align, valign: this.x.valign}, {default: () => group})];
5635
+ let gut = [h(this.x.vertical ? script$17 : script$18, {ref: 'gut', class: 'w-tabbar-gut', gap: this.x.gap, align: this.x.align, valign: this.x.valign}, {default: () => group})];
5695
5636
  if (this.x.arrow) {
5696
5637
  gut.unshift(h('div', {class: 'w-tabbar-arrow-start', onClick: () => this.clickArrow(-1)}, h('i', {class: 'f-i f-i-caret-left'})));
5697
5638
  gut.push(h('div', {class: 'w-tabbar-arrow-end', onClick: () => this.clickArrow(1)}, h('i', {class: 'f-i f-i-caret-right'})));
@@ -5699,7 +5640,7 @@ var script$I = {
5699
5640
  if (this.x.quickCloseButton) {
5700
5641
  let closeAllDisabled = !this.buttons.find(c => c.props.closable);
5701
5642
  if (this.buttons.length) {
5702
- gut.push(h(script$_, {
5643
+ gut.push(h(script$Z, {
5703
5644
  ref: 'quickCloseButton',
5704
5645
  data: {isQuickCloseButton: true},
5705
5646
  showDropIcon: false,
@@ -5708,7 +5649,7 @@ var script$I = {
5708
5649
  onDropClose: this.onMouseleave
5709
5650
  }, {
5710
5651
  default: () => [
5711
- h(script$_, {text: '关闭全部标签', onClick: this.closeAll, disabled: closeAllDisabled})
5652
+ h(script$Z, {text: '关闭全部标签', onClick: this.closeAll, disabled: closeAllDisabled})
5712
5653
  ]
5713
5654
  }));
5714
5655
  }
@@ -5815,7 +5756,7 @@ script$I.__file = "src/widgets/TabBar.vue";
5815
5756
  var script$H = {
5816
5757
  name: 'w-tabbutton',
5817
5758
  pubParentName: 'w-tabbar',
5818
- mixins: [script$_],
5759
+ mixins: [script$Z],
5819
5760
  methods: {
5820
5761
  vis() {
5821
5762
  let add = [20, 20];
@@ -5839,7 +5780,7 @@ script$H.__file = "src/widgets/TabButton.vue";
5839
5780
 
5840
5781
  var script$G = {
5841
5782
  name: 'w-tabs',
5842
- mixins: [script$19],
5783
+ mixins: [script$1b],
5843
5784
  props: ['current', 'position', 'gap', 'face', 'quickCloseButton', 'flexSize'],
5844
5785
  emits: ['click:quickCloseButton'],
5845
5786
  methods: {
@@ -5906,7 +5847,7 @@ script$F.__file = "src/widgets/Tab.vue";
5906
5847
 
5907
5848
  var script$E = {
5908
5849
  name: 'w-album',
5909
- mixins: [script$16, script$S],
5850
+ mixins: [script$18, script$S],
5910
5851
  methods: {
5911
5852
  x_default() {
5912
5853
  return {
@@ -5927,7 +5868,7 @@ script$E.__file = "src/widgets/Album.vue";
5927
5868
 
5928
5869
  var script$D = {
5929
5870
  name: 'w-html',
5930
- mixins: [script$19, script$17],
5871
+ mixins: [script$1b, script$19],
5931
5872
  props: ['line'],
5932
5873
  computed: {
5933
5874
  html_props() {
@@ -5950,7 +5891,7 @@ script$D.__file = "src/widgets/Html.vue";
5950
5891
 
5951
5892
  var script$C = {
5952
5893
  name: 'w-tree',
5953
- mixins: [script$18, script$S, script$1j],
5894
+ mixins: [script$1a, script$S, script$1h],
5954
5895
  emits: ['click:item'],
5955
5896
  provide() {
5956
5897
  return {
@@ -5965,11 +5906,13 @@ var script$C = {
5965
5906
  return leaf && $$1(leaf)
5966
5907
  },
5967
5908
  viewCurrent(f) {
5968
- f = f || this.getCurrent();
5969
- if (f) {
5970
- f.expandToView();
5971
- this.$nextTick(() => f.scrollIntoView());
5972
- }
5909
+ this.$nextTick(() => {
5910
+ f = f || this.getCurrent();
5911
+ if (f) {
5912
+ f.expandToView();
5913
+ this.$nextTick(() => f.scrollIntoView());
5914
+ }
5915
+ });
5973
5916
  },
5974
5917
  html_slots() {
5975
5918
  let r;
@@ -6003,7 +5946,7 @@ script$C.__file = "src/widgets/Tree.vue";
6003
5946
 
6004
5947
  var script$B = {
6005
5948
  name: 'w-label',
6006
- mixins: [script$19, script$17],
5949
+ mixins: [script$1b, script$19],
6007
5950
  props: ['text', 'suffix', 'vertical'],
6008
5951
  methods: {
6009
5952
  html_slots() {
@@ -6028,7 +5971,7 @@ var script$B = {
6028
5971
  script$B.__file = "src/widgets/Label.vue";
6029
5972
 
6030
5973
  var script$A = {
6031
- mixins: [script$19, script$17],
5974
+ mixins: [script$1b, script$19],
6032
5975
  props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'readonlyValidate', 'disabled', 'required',
6033
5976
  'validateDefault', 'validateHandler', 'inputWidth', 'inputHeight' ],
6034
5977
  emits: ['update:modelValue', 'change', 'blur', 'focus'],
@@ -6039,11 +5982,13 @@ var script$A = {
6039
5982
  isFocus: false,
6040
5983
  hasBorder: false,
6041
5984
  isPlural: false,
5985
+ loading: false,
6042
5986
  warnClass: '',
6043
5987
  labelVertical: false,
6044
5988
  modifiedValue: mv,
6045
5989
  defaultValue: mv,
6046
5990
  placeholder_type: '',
5991
+ validIndex: 0,
6047
5992
  }
6048
5993
  },
6049
5994
  methods: {
@@ -6080,15 +6025,15 @@ var script$A = {
6080
6025
  return r && r.value ? r.value : r
6081
6026
  }
6082
6027
  },
6083
- valid(trigger) {
6084
- let error = this.getValidError(trigger);
6028
+ async valid(trigger) {
6029
+ let error = await this.getValidError(trigger);
6085
6030
  if (error) {
6086
6031
  this.warn();
6087
6032
  this.showErrorTip(error.text);
6088
6033
  }
6089
6034
  return !error
6090
6035
  },
6091
- getValidError(trigger, val) {
6036
+ async getValidError(trigger, val) {
6092
6037
  let ques = trigger ? this.validTriggers[trigger] : this.validQueues;
6093
6038
  if (ques && (this.isNormal || (this.isReadonly && this.x.readonlyValidate))) {
6094
6039
  let v = val !== undefined ? val : this.isPlural ? this.groupFormVal() : this.formVal();
@@ -6098,7 +6043,7 @@ var script$A = {
6098
6043
  let hs = this.validHooks;
6099
6044
  for (let q of ques) {
6100
6045
  let rv = typeof q.rule !== 'object' ? q.rule : q.rule.value !== undefined ? q.rule.value : q.rule;
6101
- let e = hs[q.type](v, rv, q);
6046
+ let e = await hs[q.type](v, rv, q);
6102
6047
  if (e) return e
6103
6048
  }
6104
6049
  }
@@ -6122,19 +6067,21 @@ var script$A = {
6122
6067
  let w = typeof a === 'string' ? a : a !== false ? 'z-err' : '';
6123
6068
  this.warnClass = w;
6124
6069
  if (!w && this._tip) {
6125
- this.pop('w-tip', false);
6070
+ this._tip.close();
6126
6071
  }
6127
6072
  },
6128
6073
  showErrorTip(text) {
6129
6074
  this.scrollIntoView({
6130
6075
  ease: 200,
6131
6076
  success: () => {
6132
- this._tip = this.pop('w-tip', {
6077
+ this.pop('w-tip', {
6133
6078
  text,
6134
6079
  face: 'warn',
6135
6080
  independent: true,
6136
6081
  snap: this.errorTipTarget,
6137
6082
  onClose: () => this._tip = null
6083
+ }, (tip) => {
6084
+ this._tip = tip;
6138
6085
  });
6139
6086
  }
6140
6087
  });
@@ -6153,21 +6100,29 @@ var script$A = {
6153
6100
  },
6154
6101
  oninput(e) {
6155
6102
  this.val(e.target.value);
6103
+ this.baseValid('change');
6156
6104
  },
6157
6105
  baseFocus(e) {
6158
6106
  this.isFocus = true;
6159
6107
  this.warn(false);
6160
6108
  this.trigger(e);
6109
+ this.baseValid('focus');
6161
6110
  },
6162
6111
  baseBlur(e) {
6163
6112
  if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false;
6164
6113
  this.trigger(e);
6165
- setTimeout(() => {
6166
- if (!this.$.isUnmounted && !this.$.isDeactivated) {
6167
- let time = new Date().getTime();
6168
- if (time - tipCache.time > 100) this.valid('blur');
6169
- }
6170
- }, 100);
6114
+ this.baseValid('blur');
6115
+ },
6116
+ baseValid(trigger) {
6117
+ if (this.validTriggers[trigger]) {
6118
+ clearTimeout(this._baseValidTimer);
6119
+ this._baseValidTimer = setTimeout(() => {
6120
+ if (!this.$.isUnmounted && !this.$.isDeactivated) {
6121
+ let time = new Date().getTime();
6122
+ if (time - tipCache.time > 100) this.valid(trigger);
6123
+ }
6124
+ }, 100);
6125
+ }
6171
6126
  },
6172
6127
  snapElem() {
6173
6128
  return this.el('main')
@@ -6280,10 +6235,13 @@ var script$A = {
6280
6235
  if (v && (typeof rule === 'string' ? !$$1.eval(`${rule}.test(v)`, {rule, v}) : !rule.test(v)))
6281
6236
  return this.formErr(que)
6282
6237
  },
6283
- validateHandler: (v, rule) => {
6284
- let text = rule && rule(v);
6285
- if (text) {
6286
- return this.formErr({type: 'validateHandler', rule: {text}})
6238
+ validateHandler: async(v, rule, que) => {
6239
+ let rs = rule && rule(v);
6240
+ if (rs) {
6241
+ let text = await rs;
6242
+ if (text) {
6243
+ return this.formErr({type: 'validateHandler', rule: {text}})
6244
+ }
6287
6245
  }
6288
6246
  }
6289
6247
  }
@@ -6553,10 +6511,10 @@ var script$z = {
6553
6511
  }, this.html_input())
6554
6512
  },
6555
6513
  html_target() {
6556
- return h(script$16, {
6514
+ return this.$slots.default ? h(script$18, {
6557
6515
  class: this.$options.name + '-target',
6558
6516
  ref: 'target'
6559
- }, this.$slots)
6517
+ }, this.$slots) : []
6560
6518
  },
6561
6519
  html() {
6562
6520
  return this.pubParent && this.pubParent.x.vertical ? [this.html_self(true), this.html_target()] : this.html_self()
@@ -6616,7 +6574,9 @@ var script$z = {
6616
6574
  },
6617
6575
  html_class() {
6618
6576
  return {
6619
- 'z-half': this.indeterminate
6577
+ 'z-half': this.indeterminate,
6578
+ 'z-target': !!this.$slots.default,
6579
+ 'z-checked': this.isChecked,
6620
6580
  }
6621
6581
  }
6622
6582
  },
@@ -6727,7 +6687,7 @@ script$y.__file = "src/widgets/TripleBox.vue";
6727
6687
  var script$x = {
6728
6688
  name: 'w-leaf',
6729
6689
  pubParentName: 'w-tree',
6730
- mixins: [script$19, script$1j],
6690
+ mixins: [script$1b, script$1h],
6731
6691
  props: ['text', 'expanded', 'expandedIcon', 'collapsedIcon', 'icon', 'boxSync', 'src', 'disabled'],
6732
6692
  inject: ['providePubParent', 'provideLevel', 'provideParentLeaf', 'provideParentTR'],
6733
6693
  provide() {
@@ -6827,7 +6787,7 @@ var script$x = {
6827
6787
  let ico = this.isFolder() ? (exp ? this.x.expandedIcon : this.x.collapsedIcon) : this.x.icon;
6828
6788
  return h('div', mergeProps(this.html_attrs, this.html_props, this.$attrs), [
6829
6789
  this.loading ?
6830
- h(script$$, {
6790
+ h(script$_, {
6831
6791
  src: '#f-svg-loading',
6832
6792
  class: 'w-leaf-loading'
6833
6793
  }) :
@@ -6839,7 +6799,7 @@ var script$x = {
6839
6799
  }
6840
6800
  }),
6841
6801
  this.$slots.box && this.$slots.box(),
6842
- ico && h(script$$, {
6802
+ ico && h(script$_, {
6843
6803
  src: ico,
6844
6804
  class: 'w-leaf-icon'
6845
6805
  }),
@@ -6971,13 +6931,13 @@ var script$w = {
6971
6931
  this.html_face_normal()
6972
6932
  },
6973
6933
  html_buttons() {
6974
- return [h(script$_, {
6934
+ return [h(script$Z, {
6975
6935
  class: 'w-pagebar-button w-pagebar-prev',
6976
6936
  icon: '.f-i .f-i-angle-left',
6977
6937
  disabled: this.currentPage == 1,
6978
6938
  title: $$1.loc.page_text.prev,
6979
6939
  onclick: e => this.clickItem(e, this.currentPage - 1)
6980
- }), h(script$_, {
6940
+ }), h(script$Z, {
6981
6941
  class: 'w-pagebar-button w-pagebar-next',
6982
6942
  icon: '.f-i .f-i-angle-right',
6983
6943
  disabled: this.currentPage == this.sumPage,
@@ -6988,7 +6948,7 @@ var script$w = {
6988
6948
  html_drop() {
6989
6949
  let s = [];
6990
6950
  if (this.x.buttonCount) {
6991
- s.push(h(script$_, {
6951
+ s.push(h(script$Z, {
6992
6952
  class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',
6993
6953
  ref: 'drop',
6994
6954
  text: this.currentPage + '/' + this.sumPage,
@@ -6997,8 +6957,8 @@ var script$w = {
6997
6957
  }
6998
6958
  if (this.showDrop) {
6999
6959
  let b = [];
7000
- for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(script$_, {text: i, onClick: e => this.clickItem(e, i)}));
7001
- s.push(h(script$Y, {snap: () => this.$refs.drop, position: 'v', indent: 1, onClose: () => this.showDrop = false}, {default: () => b}));
6960
+ for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(script$Z, {text: i, onClick: e => this.clickItem(e, i)}));
6961
+ s.push(h(script$X, {snap: () => this.$refs.drop, position: 'v', indent: 1, onClose: () => this.showDrop = false}, {default: () => b}));
7002
6962
  }
7003
6963
  return s
7004
6964
  },
@@ -7100,7 +7060,7 @@ script$w.__file = "src/widgets/PageBar.vue";
7100
7060
 
7101
7061
  var script$v = {
7102
7062
  name: 'w-split',
7103
- mixins: [script$19],
7063
+ mixins: [script$1b],
7104
7064
  props: ['collapsedIcon', 'expandedIcon', 'movable', 'range', 'toNext', 'expanded'],
7105
7065
  inject: ['provideLayout'],
7106
7066
  created() {
@@ -7201,7 +7161,7 @@ script$v.__file = "src/widgets/Split.vue";
7201
7161
 
7202
7162
  var script$u = {
7203
7163
  name: 'w-toggle',
7204
- mixins: [script$19, script$17],
7164
+ mixins: [script$1b, script$19],
7205
7165
  props: ['collapsedIcon', 'expandedIcon', 'expanded', 'align', 'valign'],
7206
7166
  methods: {
7207
7167
  x_default() {
@@ -7218,7 +7178,7 @@ var script$u = {
7218
7178
  html_slots() {
7219
7179
  let exp = this.x.expanded;
7220
7180
  let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon;
7221
- return [ico && h(script$$, {
7181
+ return [ico && h(script$_, {
7222
7182
  src: ico,
7223
7183
  class: 'w-toggle-icon',
7224
7184
  }), h('div', {class: 'w-toggle-main'}, this.$slots.default())]
@@ -7249,7 +7209,7 @@ script$u.__file = "src/widgets/Toggle.vue";
7249
7209
 
7250
7210
  var script$t = {
7251
7211
  name: 'w-video',
7252
- mixins: [script$19],
7212
+ mixins: [script$1b],
7253
7213
  props: ['src', 'poster'],
7254
7214
  data() {
7255
7215
  return {
@@ -7301,7 +7261,7 @@ script$t.__file = "src/widgets/Video.vue";
7301
7261
 
7302
7262
  var script$s = {
7303
7263
  name: 'w-progress',
7304
- mixins: [script$19],
7264
+ mixins: [script$1b],
7305
7265
  props: ['percent', 'range', 'text'],
7306
7266
  methods: {
7307
7267
  html_slots() {
@@ -7346,7 +7306,7 @@ script$s.__file = "src/widgets/Progress.vue";
7346
7306
 
7347
7307
  var script$r = {
7348
7308
  name: 'w-calendar',
7349
- mixins: [script$19],
7309
+ mixins: [script$1b],
7350
7310
  emits: ['click:item', 'change'],
7351
7311
  props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success', 'cg', 'start',
7352
7312
  'enableHour', 'enableMinute', 'enableSecond', 'defaultHour', 'defaultMinute', 'defaultSecond'
@@ -7761,15 +7721,22 @@ var script$r = {
7761
7721
  }
7762
7722
  };
7763
7723
 
7764
- const _hoisted_1$3 = /*#__PURE__*/createVNode("i", { class: "f-i f-i-minus" }, null, -1 /* HOISTED */);
7765
- const _hoisted_2$2 = /*#__PURE__*/createVNode("i", { class: "f-i f-i-plus" }, null, -1 /* HOISTED */);
7766
- const _hoisted_3$2 = /*#__PURE__*/createVNode("div", { class: "w-calendar-head-blank" }, null, -1 /* HOISTED */);
7767
- const _hoisted_4$1 = { class: "w-calendar-body" };
7768
- const _hoisted_5 = { class: "w-calendar-daytitle" };
7769
- const _hoisted_6 = { class: "w-calendar-item-text" };
7770
- const _hoisted_7 = { class: "w-calendar-time-th" };
7771
- const _hoisted_8 = { class: "w-calendar-time-th" };
7772
- const _hoisted_9 = { class: "w-calendar-time-th" };
7724
+ const _hoisted_1$4 = ["innerHTML"];
7725
+ const _hoisted_2$4 = /*#__PURE__*/createElementVNode("i", { class: "f-i f-i-minus" }, null, -1 /* HOISTED */);
7726
+ const _hoisted_3$2 = [
7727
+ _hoisted_2$4
7728
+ ];
7729
+ const _hoisted_4$1 = ["onClick"];
7730
+ const _hoisted_5$1 = /*#__PURE__*/createElementVNode("i", { class: "f-i f-i-plus" }, null, -1 /* HOISTED */);
7731
+ const _hoisted_6$1 = ["onClick"];
7732
+ const _hoisted_7 = /*#__PURE__*/createElementVNode("div", { class: "w-calendar-head-blank" }, null, -1 /* HOISTED */);
7733
+ const _hoisted_8 = { class: "w-calendar-body" };
7734
+ const _hoisted_9 = { class: "w-calendar-daytitle" };
7735
+ const _hoisted_10 = ["title", "onClick"];
7736
+ const _hoisted_11 = { class: "w-calendar-item-text" };
7737
+ const _hoisted_12 = { class: "w-calendar-time-th" };
7738
+ const _hoisted_13 = { class: "w-calendar-time-th" };
7739
+ const _hoisted_14 = { class: "w-calendar-time-th" };
7773
7740
 
7774
7741
  function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7775
7742
  const _component_w_html = resolveComponent("w-html");
@@ -7790,32 +7757,32 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7790
7757
  }, {
7791
7758
  default: withCtx(() => [
7792
7759
  createVNode(_component_w_horizontal, {
7793
- class: ['w-calendar-head', {'f-h-gap': _ctx.dfish.br.compat.gap}],
7760
+ class: normalizeClass(['w-calendar-head', {'f-h-gap': _ctx.dfish.br.compat.gap}]),
7794
7761
  valign: "middle",
7795
7762
  align: "center"
7796
7763
  }, {
7797
7764
  default: withCtx(() => [
7798
7765
  (_ctx.x.face == 'date')
7799
- ? (openBlock(), createBlock("i", {
7766
+ ? (openBlock(), createElementBlock("i", {
7800
7767
  key: 0,
7801
7768
  class: "w-calendar-head-prev-year f-i f-i-angle-double-left f-pointer",
7802
- onClick: _cache[1] || (_cache[1] = $event => ($options.clickStep(-12)))
7769
+ onClick: _cache[0] || (_cache[0] = $event => ($options.clickStep(-12)))
7803
7770
  }))
7804
7771
  : createCommentVNode("v-if", true),
7805
- createVNode("i", {
7772
+ createElementVNode("i", {
7806
7773
  class: "w-calendar-head-prev f-i f-i-angle-single-left f-pointer",
7807
- onClick: _cache[2] || (_cache[2] = $event => ($options.clickStep(-1)))
7774
+ onClick: _cache[1] || (_cache[1] = $event => ($options.clickStep(-1)))
7808
7775
  }),
7809
7776
  createVNode(_component_w_horizontal, {
7810
- class: ['w-calendar-head-pop', {'f-h-gap': _ctx.dfish.br.compat.gap}]
7777
+ class: normalizeClass(['w-calendar-head-pop', {'f-h-gap': _ctx.dfish.br.compat.gap}])
7811
7778
  }, {
7812
7779
  default: withCtx(() => [
7813
- createVNode("div", {
7780
+ createElementVNode("div", {
7814
7781
  class: "w-calendar-head-year f-link",
7815
7782
  ref: "popYear",
7816
- onClick: _cache[3] || (_cache[3] = $event => ($options.clickPopYear())),
7783
+ onClick: _cache[2] || (_cache[2] = $event => ($options.clickPopYear())),
7817
7784
  innerHTML: $options.headYear
7818
- }, null, 8 /* PROPS */, ["innerHTML"]),
7785
+ }, null, 8 /* PROPS */, _hoisted_1$4),
7819
7786
  ($data.headPopYear)
7820
7787
  ? (openBlock(), createBlock(_component_w_dialog, {
7821
7788
  key: 0,
@@ -7825,35 +7792,33 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7825
7792
  "auto-hide": true,
7826
7793
  ownproperty: true,
7827
7794
  snap: _ctx.$refs.popYear,
7828
- onClose: _cache[6] || (_cache[6] = $event => ($data.headPopYear=null))
7795
+ onClose: _cache[5] || (_cache[5] = $event => ($data.headPopYear=null))
7829
7796
  }, {
7830
7797
  default: withCtx(() => [
7831
- createVNode("div", {
7798
+ createElementVNode("div", {
7832
7799
  class: "w-calendar-head-year-item",
7833
- onClick: _cache[4] || (_cache[4] = $event => ($options.clickPopYearStep(-1)))
7834
- }, [
7835
- _hoisted_1$3
7836
- ]),
7800
+ onClick: _cache[3] || (_cache[3] = $event => ($options.clickPopYearStep(-1)))
7801
+ }, _hoisted_3$2),
7837
7802
  createVNode(_component_w_html, {
7838
7803
  height: "*",
7839
7804
  onWheelPassive: $options.mousewheelPopYear
7840
7805
  }, {
7841
7806
  default: withCtx(() => [
7842
- (openBlock(true), createBlock(Fragment, null, renderList($data.headPopYear, (item) => {
7843
- return (openBlock(), createBlock("div", {
7844
- class: ['w-calendar-head-year-item', {'z-on': item == $data.dt.getFullYear()}],
7807
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.headPopYear, (item) => {
7808
+ return (openBlock(), createElementBlock("div", {
7809
+ class: normalizeClass(['w-calendar-head-year-item', {'z-on': item == $data.dt.getFullYear()}]),
7845
7810
  onClick: $event => ($options.clickPopYearItem(item))
7846
- }, toDisplayString(item), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
7811
+ }, toDisplayString(item), 11 /* TEXT, CLASS, PROPS */, _hoisted_4$1))
7847
7812
  }), 256 /* UNKEYED_FRAGMENT */))
7848
7813
  ]),
7849
7814
  _: 1 /* STABLE */
7850
7815
  }, 8 /* PROPS */, ["onWheelPassive"]),
7851
7816
  createVNode(_component_w_html, {
7852
7817
  class: "w-calendar-head-year-item",
7853
- onClick: _cache[5] || (_cache[5] = $event => ($options.clickPopYearStep(1)))
7818
+ onClick: _cache[4] || (_cache[4] = $event => ($options.clickPopYearStep(1)))
7854
7819
  }, {
7855
7820
  default: withCtx(() => [
7856
- _hoisted_2$2
7821
+ _hoisted_5$1
7857
7822
  ]),
7858
7823
  _: 1 /* STABLE */
7859
7824
  })
@@ -7883,16 +7848,16 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7883
7848
  "auto-hide": true,
7884
7849
  ownproperty: true,
7885
7850
  snap: _ctx.$refs.popMonth,
7886
- onClose: _cache[7] || (_cache[7] = $event => ($data.headPopMonth=null))
7851
+ onClose: _cache[6] || (_cache[6] = $event => ($data.headPopMonth=null))
7887
7852
  }, {
7888
7853
  default: withCtx(() => [
7889
7854
  createVNode(_component_w_html, { height: "*" }, {
7890
7855
  default: withCtx(() => [
7891
- (openBlock(true), createBlock(Fragment, null, renderList($data.headPopMonth, (item) => {
7892
- return (openBlock(), createBlock("div", {
7893
- class: ['w-calendar-head-year-item', {'z-on': item == $data.dt.getMonth() + 1}],
7856
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.headPopMonth, (item) => {
7857
+ return (openBlock(), createElementBlock("div", {
7858
+ class: normalizeClass(['w-calendar-head-year-item', {'z-on': item == $data.dt.getMonth() + 1}]),
7894
7859
  onClick: $event => ($options.clickPopMonthItem(item))
7895
- }, toDisplayString(item), 11 /* TEXT, CLASS, PROPS */, ["onClick"]))
7860
+ }, toDisplayString(item), 11 /* TEXT, CLASS, PROPS */, _hoisted_6$1))
7896
7861
  }), 256 /* UNKEYED_FRAGMENT */))
7897
7862
  ]),
7898
7863
  _: 1 /* STABLE */
@@ -7904,38 +7869,38 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7904
7869
  ]),
7905
7870
  _: 1 /* STABLE */
7906
7871
  }, 8 /* PROPS */, ["class"]),
7907
- createVNode("i", {
7872
+ createElementVNode("i", {
7908
7873
  class: "w-calendar-head-next f-i f-i-angle-single-right f-pointer",
7909
- onClick: _cache[8] || (_cache[8] = $event => ($options.clickStep(1)))
7874
+ onClick: _cache[7] || (_cache[7] = $event => ($options.clickStep(1)))
7910
7875
  }),
7911
7876
  (_ctx.x.face == 'date')
7912
- ? (openBlock(), createBlock("i", {
7877
+ ? (openBlock(), createElementBlock("i", {
7913
7878
  key: 1,
7914
7879
  class: "w-calendar-head-next-year f-i f-i-angle-double-right f-pointer",
7915
- onClick: _cache[9] || (_cache[9] = $event => ($options.clickStep(12)))
7880
+ onClick: _cache[8] || (_cache[8] = $event => ($options.clickStep(12)))
7916
7881
  }))
7917
7882
  : createCommentVNode("v-if", true),
7918
- _hoisted_3$2
7883
+ _hoisted_7
7919
7884
  ]),
7920
7885
  _: 1 /* STABLE */
7921
7886
  }, 8 /* PROPS */, ["class"]),
7922
7887
  renderSlot(_ctx.$slots, "head"),
7923
- createVNode("div", _hoisted_4$1, [
7888
+ createElementVNode("div", _hoisted_8, [
7924
7889
  (_ctx.x.face == 'date')
7925
- ? (openBlock(true), createBlock(Fragment, { key: 0 }, renderList($options.loc.calendar.day_title_1, (item) => {
7926
- return (openBlock(), createBlock("div", _hoisted_5, toDisplayString(item), 1 /* TEXT */))
7890
+ ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList($options.loc.calendar.day_title_1, (item) => {
7891
+ return (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(item), 1 /* TEXT */))
7927
7892
  }), 256 /* UNKEYED_FRAGMENT */))
7928
7893
  : createCommentVNode("v-if", true),
7929
- (openBlock(true), createBlock(Fragment, null, renderList($options.bodyList, (item) => {
7930
- return (openBlock(), createBlock("div", {
7894
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyList, (item) => {
7895
+ return (openBlock(), createElementBlock("div", {
7931
7896
  title: item.title,
7932
- class: ['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}],
7897
+ class: normalizeClass(['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]),
7933
7898
  onClick: $event => ($options.clickItem($event,item))
7934
7899
  }, [
7935
7900
  renderSlot(_ctx.$slots, "default", { item: item }, () => [
7936
- createVNode("div", _hoisted_6, toDisplayString(item.text), 1 /* TEXT */)
7901
+ createElementVNode("div", _hoisted_11, toDisplayString(item.text), 1 /* TEXT */)
7937
7902
  ])
7938
- ], 10 /* CLASS, PROPS */, ["title", "onClick"]))
7903
+ ], 10 /* CLASS, PROPS */, _hoisted_10))
7939
7904
  }), 256 /* UNKEYED_FRAGMENT */))
7940
7905
  ])
7941
7906
  ]),
@@ -7955,7 +7920,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7955
7920
  width: "*"
7956
7921
  }, {
7957
7922
  default: withCtx(() => [
7958
- createVNode("div", _hoisted_7, toDisplayString($options.loc.hour), 1 /* TEXT */),
7923
+ createElementVNode("div", _hoisted_12, toDisplayString($options.loc.hour), 1 /* TEXT */),
7959
7924
  createVNode(_component_w_buttonbar, {
7960
7925
  class: "w-calendar-time-body",
7961
7926
  ref: "hour",
@@ -7966,7 +7931,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7966
7931
  height: "*"
7967
7932
  }, {
7968
7933
  default: withCtx(() => [
7969
- (openBlock(true), createBlock(Fragment, null, renderList($options.bodyListHour, (h) => {
7934
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyListHour, (h) => {
7970
7935
  return (openBlock(), createBlock(_component_w_button, {
7971
7936
  class: "w-calendar-time-item",
7972
7937
  key: h,
@@ -7989,7 +7954,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
7989
7954
  width: "*"
7990
7955
  }, {
7991
7956
  default: withCtx(() => [
7992
- createVNode("div", _hoisted_8, toDisplayString($options.loc.minute), 1 /* TEXT */),
7957
+ createElementVNode("div", _hoisted_13, toDisplayString($options.loc.minute), 1 /* TEXT */),
7993
7958
  createVNode(_component_w_buttonbar, {
7994
7959
  class: "w-calendar-time-body",
7995
7960
  ref: "minute",
@@ -8000,7 +7965,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
8000
7965
  height: "*"
8001
7966
  }, {
8002
7967
  default: withCtx(() => [
8003
- (openBlock(true), createBlock(Fragment, null, renderList($options.bodyListMinute, (m) => {
7968
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyListMinute, (m) => {
8004
7969
  return (openBlock(), createBlock(_component_w_button, {
8005
7970
  class: "w-calendar-time-item",
8006
7971
  key: m,
@@ -8023,7 +7988,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
8023
7988
  width: "*"
8024
7989
  }, {
8025
7990
  default: withCtx(() => [
8026
- createVNode("div", _hoisted_9, toDisplayString($options.loc.second), 1 /* TEXT */),
7991
+ createElementVNode("div", _hoisted_14, toDisplayString($options.loc.second), 1 /* TEXT */),
8027
7992
  createVNode(_component_w_buttonbar, {
8028
7993
  class: "w-calendar-time-body",
8029
7994
  ref: "second",
@@ -8034,7 +7999,7 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
8034
7999
  height: "*"
8035
8000
  }, {
8036
8001
  default: withCtx(() => [
8037
- (openBlock(true), createBlock(Fragment, null, renderList($options.bodyListSecond, (s) => {
8002
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.bodyListSecond, (s) => {
8038
8003
  return (openBlock(), createBlock(_component_w_button, {
8039
8004
  class: "w-calendar-time-item",
8040
8005
  key: s,
@@ -8057,25 +8022,25 @@ function render$4(_ctx, _cache, $props, $setup, $data, $options) {
8057
8022
  ($props.success)
8058
8023
  ? (openBlock(), createBlock(_component_w_horizontal, {
8059
8024
  key: 2,
8060
- class: ['w-calendar-foot', {'f-h-gap': _ctx.dfish.br.compat.gap}],
8025
+ class: normalizeClass(['w-calendar-foot', {'f-h-gap': _ctx.dfish.br.compat.gap}]),
8061
8026
  align: "between",
8062
8027
  valign: "middle"
8063
8028
  }, {
8064
8029
  default: withCtx(() => [
8065
- createVNode("div", {
8030
+ createElementVNode("div", {
8066
8031
  class: "w-calendar-button-now f-link",
8067
- onClick: _cache[10] || (_cache[10] = (...args) => ($options.clickNow && $options.clickNow(...args)))
8032
+ onClick: _cache[9] || (_cache[9] = (...args) => ($options.clickNow && $options.clickNow(...args)))
8068
8033
  }, toDisplayString($options.loc.calendar.now), 1 /* TEXT */),
8069
- createVNode("div", {
8034
+ createElementVNode("div", {
8070
8035
  class: "w-calendar-button-confirm f-link",
8071
- onClick: _cache[11] || (_cache[11] = (...args) => ($options.clickConfirm && $options.clickConfirm(...args)))
8036
+ onClick: _cache[10] || (_cache[10] = (...args) => ($options.clickConfirm && $options.clickConfirm(...args)))
8072
8037
  }, toDisplayString($options.loc.confirm), 1 /* TEXT */)
8073
8038
  ]),
8074
8039
  _: 1 /* STABLE */
8075
8040
  }, 8 /* PROPS */, ["class"]))
8076
8041
  : createCommentVNode("v-if", true)
8077
8042
  ]),
8078
- _: 1 /* STABLE */
8043
+ _: 3 /* FORWARDED */
8079
8044
  }, 16 /* FULL_PROPS */, ["class"]))
8080
8045
  }
8081
8046
 
@@ -8084,7 +8049,7 @@ script$r.__file = "src/widgets/Calendar.vue";
8084
8049
 
8085
8050
  var script$q = {
8086
8051
  name: 'w-timeline',
8087
- mixins: [script$18, script$S],
8052
+ mixins: [script$1a, script$S],
8088
8053
  props: ['face', 'vertical'],
8089
8054
  methods: {
8090
8055
  indent() {
@@ -8217,7 +8182,7 @@ script$q.__file = "src/widgets/Timeline.vue";
8217
8182
  var script$p = {
8218
8183
  name: 'w-timeline-item',
8219
8184
  pubParentName: 'w-timeline',
8220
- mixins: [script$19],
8185
+ mixins: [script$1b],
8221
8186
  inject: ['providePubParent'],
8222
8187
  props: ['position', 'index'],
8223
8188
  methods: {
@@ -8254,7 +8219,7 @@ script$p.__file = "src/widgets/TimelineItem.vue";
8254
8219
 
8255
8220
  var script$o = {
8256
8221
  name: 'w-slidepicker',
8257
- mixins: [script$19],
8222
+ mixins: [script$1b],
8258
8223
  provide() {
8259
8224
  return {
8260
8225
  provideOptionParent: this,
@@ -8453,11 +8418,11 @@ var script$o = {
8453
8418
  }
8454
8419
  };
8455
8420
 
8456
- const _hoisted_1$2 = {
8421
+ const _hoisted_1$3 = {
8457
8422
  ref: "options",
8458
8423
  class: "w-slidepicker-options"
8459
8424
  };
8460
- const _hoisted_2$1 = {
8425
+ const _hoisted_2$3 = {
8461
8426
  key: 0,
8462
8427
  class: "w-slidepicker-bg-top"
8463
8428
  };
@@ -8467,15 +8432,15 @@ const _hoisted_3$1 = {
8467
8432
  };
8468
8433
 
8469
8434
  function render$3(_ctx, _cache, $props, $setup, $data, $options) {
8470
- return (openBlock(), createBlock("div", mergeProps({ ref: "root" }, _ctx.html_binds), [
8471
- createVNode("div", _hoisted_1$2, [
8435
+ return (openBlock(), createElementBlock("div", mergeProps({ ref: "root" }, _ctx.html_binds), [
8436
+ createElementVNode("div", _hoisted_1$3, [
8472
8437
  renderSlot(_ctx.$slots, "default")
8473
8438
  ], 512 /* NEED_PATCH */),
8474
8439
  (_ctx.x.cover)
8475
- ? (openBlock(), createBlock("div", _hoisted_2$1))
8440
+ ? (openBlock(), createElementBlock("div", _hoisted_2$3))
8476
8441
  : createCommentVNode("v-if", true),
8477
8442
  (_ctx.x.cover)
8478
- ? (openBlock(), createBlock("div", _hoisted_3$1))
8443
+ ? (openBlock(), createElementBlock("div", _hoisted_3$1))
8479
8444
  : createCommentVNode("v-if", true)
8480
8445
  ], 16 /* FULL_PROPS */))
8481
8446
  }
@@ -9371,12 +9336,12 @@ const suffixHooks = {
9371
9336
  this.$emit('update:modelValue', v);
9372
9337
  this.trigger('change', v);
9373
9338
  },
9374
- clickItem(e, item) {
9339
+ clickItem(e, item, ctx) {
9375
9340
  if (!item.value) return
9376
9341
  if (this.getOn('click:item')) {
9377
9342
  e.runType = 'click:item';
9378
9343
  e.value = item.value;
9379
- this.trigger(e, item.value);
9344
+ this.trigger(e, item.value, ctx);
9380
9345
  } else if (this.x.downloadSrc) {
9381
9346
  $$1.download($$1.urlServer(this.x.downloadSrc, item.value, this.x.data));
9382
9347
  }
@@ -9404,14 +9369,12 @@ const suffixHooks = {
9404
9369
  onclick: e => this.remove(item)
9405
9370
  })];
9406
9371
  if (value && this.$slots.menu) {
9407
- button.push(h(script$W, null, {
9408
- default: () => h('div', {
9372
+ button.push(h(script$X, null, {
9373
+ target: () => h('div', {
9409
9374
  class: 'w-fileupload-value-menu f-i f-i-ellipsis',
9410
9375
  title: $$1.loc.more,
9411
9376
  }),
9412
- pop: () => h(script$Y, {}, {
9413
- default: () => this.$slots.menu({item: value})
9414
- })
9377
+ default: () => this.$slots.menu({item: value})
9415
9378
  }));
9416
9379
  }
9417
9380
  return h('div', {
@@ -9427,14 +9390,14 @@ const suffixHooks = {
9427
9390
  }, [
9428
9391
  h('i', {
9429
9392
  class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(name)],
9430
- onclick: e => this.clickItem(e, item)
9393
+ onclick: e => this.clickItem(e, item, this)
9431
9394
  }),
9432
9395
  item.error && h('div', {
9433
9396
  class: 'w-fileupload-value-error'
9434
9397
  }, $$1.loc.form.upload_error),
9435
9398
  h('div', {
9436
9399
  class: 'w-fileupload-value-text f-line-1',
9437
- onclick: e => this.clickItem(e, item)
9400
+ onclick: e => this.clickItem(e, item, this)
9438
9401
  }, name),
9439
9402
  button
9440
9403
  ])
@@ -9459,7 +9422,7 @@ const suffixHooks = {
9459
9422
  class: 'w-fileupload-bbr',
9460
9423
  gap: 10,
9461
9424
  }, {
9462
- default: () => [this.$slots.button ? this.$slots.button() : h(script$_, {
9425
+ default: () => [this.$slots.button ? this.$slots.button() : h(script$Z, {
9463
9426
  text: '选择文件',
9464
9427
  icon: '.f-i .f-i-upload',
9465
9428
  class: 'w-fileupload-button',
@@ -9539,7 +9502,7 @@ var script$f = {
9539
9502
  },
9540
9503
  methods: {
9541
9504
  click(e) {
9542
- this.provideUpload.clickItem(e, this.item);
9505
+ this.provideUpload.clickItem(e, this.item, this.provideUpload);
9543
9506
  },
9544
9507
  createImageThumbnail() {
9545
9508
  let r = new FileReader();
@@ -9630,8 +9593,8 @@ var script$f = {
9630
9593
  }
9631
9594
  };
9632
9595
 
9633
- const _hoisted_1$1 = { class: "f-line-1" };
9634
- const _hoisted_2 = {
9596
+ const _hoisted_1$2 = { class: "f-line-1" };
9597
+ const _hoisted_2$2 = {
9635
9598
  key: 0,
9636
9599
  ref: "loading",
9637
9600
  width: "34",
@@ -9643,14 +9606,15 @@ const _hoisted_3 = {
9643
9606
  class: "w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play"
9644
9607
  };
9645
9608
  const _hoisted_4 = { class: "w-mediaupload-value-oper" };
9609
+ const _hoisted_5 = ["title"];
9610
+ const _hoisted_6 = ["title"];
9646
9611
 
9647
9612
  function render$2(_ctx, _cache, $props, $setup, $data, $options) {
9648
9613
  const _component_w_menu = resolveComponent("w-menu");
9649
- const _component_w_pop = resolveComponent("w-pop");
9650
9614
  const _component_w_img = resolveComponent("w-img");
9651
9615
 
9652
9616
  return (openBlock(), createBlock(_component_w_img, {
9653
- class: ['w-mediaupload-value', {'z-loading': $props.item.loading, 'z-canplay': $options.canPlay, 'z-err': $props.item.error}],
9617
+ class: normalizeClass(['w-mediaupload-value', {'z-loading': $props.item.loading, 'z-canplay': $options.canPlay, 'z-err': $props.item.error}]),
9654
9618
  ref: "thumbnail",
9655
9619
  src: $options.src,
9656
9620
  "data-url": $data.dataURL,
@@ -9662,36 +9626,31 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
9662
9626
  }, createSlots({
9663
9627
  cover: withCtx(() => [
9664
9628
  ($props.item.loading)
9665
- ? (openBlock(), createBlock("canvas", _hoisted_2, null, 512 /* NEED_PATCH */))
9629
+ ? (openBlock(), createElementBlock("canvas", _hoisted_2$2, null, 512 /* NEED_PATCH */))
9666
9630
  : ($options.canPlay)
9667
- ? (openBlock(), createBlock("i", _hoisted_3))
9631
+ ? (openBlock(), createElementBlock("i", _hoisted_3))
9668
9632
  : createCommentVNode("v-if", true),
9669
- createVNode("div", _hoisted_4, [
9633
+ createElementVNode("div", _hoisted_4, [
9670
9634
  ($options.upload.isNormal)
9671
- ? (openBlock(), createBlock("i", {
9635
+ ? (openBlock(), createElementBlock("i", {
9672
9636
  key: 0,
9673
9637
  class: "w-mediaupload-value-close f-flex-center f-i f-i-trash",
9674
9638
  title: $options.titleRemove,
9675
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.remove && $options.remove(...args)))
9676
- }, null, 8 /* PROPS */, ["title"]))
9639
+ onClick: _cache[0] || (_cache[0] = (...args) => ($options.remove && $options.remove(...args)))
9640
+ }, null, 8 /* PROPS */, _hoisted_5))
9677
9641
  : createCommentVNode("v-if", true),
9678
9642
  ($props.item.value && $options.upload.$slots.menu)
9679
- ? (openBlock(), createBlock(_component_w_pop, { key: 1 }, {
9680
- pop: withCtx(() => [
9681
- createVNode(_component_w_menu, null, {
9682
- default: withCtx(() => [
9683
- (openBlock(true), createBlock(Fragment, null, renderList($options.menus, (menu) => {
9684
- return (openBlock(), createBlock(resolveDynamicComponent(menu)))
9685
- }), 256 /* UNKEYED_FRAGMENT */))
9686
- ]),
9687
- _: 1 /* STABLE */
9688
- })
9689
- ]),
9690
- default: withCtx(() => [
9691
- createVNode("i", {
9643
+ ? (openBlock(), createBlock(_component_w_menu, { key: 1 }, {
9644
+ target: withCtx(() => [
9645
+ createElementVNode("i", {
9692
9646
  class: "w-mediaupload-value-menu f-flex-center f-i f-i-ellipsis",
9693
9647
  title: $options.titleMore
9694
- }, null, 8 /* PROPS */, ["title"])
9648
+ }, null, 8 /* PROPS */, _hoisted_6)
9649
+ ]),
9650
+ default: withCtx(() => [
9651
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.menus, (menu) => {
9652
+ return (openBlock(), createBlock(resolveDynamicComponent(menu)))
9653
+ }), 256 /* UNKEYED_FRAGMENT */))
9695
9654
  ]),
9696
9655
  _: 1 /* STABLE */
9697
9656
  }))
@@ -9704,8 +9663,9 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
9704
9663
  ? {
9705
9664
  name: "default",
9706
9665
  fn: withCtx(() => [
9707
- createVNode("div", _hoisted_1$1, toDisplayString($options.name), 1 /* TEXT */)
9708
- ])
9666
+ createElementVNode("div", _hoisted_1$2, toDisplayString($options.name), 1 /* TEXT */)
9667
+ ]),
9668
+ key: "0"
9709
9669
  }
9710
9670
  : undefined
9711
9671
  ]), 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "src", "data-url", "width", "img-width", "img-height", "tip", "onClick"]))
@@ -9730,7 +9690,7 @@ var script$e = {
9730
9690
  //valign: 'top',
9731
9691
  thumbnailWidth: 80,
9732
9692
  thumbnailHeight: 80,
9733
- gap: 10,
9693
+ gap: 4,
9734
9694
  }
9735
9695
  },
9736
9696
  html_list() {
@@ -9743,14 +9703,14 @@ var script$e = {
9743
9703
  ref: 'uploadbbr',
9744
9704
  class: 'w-fileupload-bbr'
9745
9705
  }, {
9746
- default: () => [this.$slots.button ? this.$slots.button() : h(script$_, {
9706
+ default: () => [this.$slots.button ? this.$slots.button() : h(script$Z, {
9747
9707
  ref: 'uploadbutton',
9748
9708
  title: $$1.loc.form.choose_image,
9749
9709
  icon: '.f-i .f-i-plus',
9750
9710
  class: 'w-mediaupload-button',
9751
9711
  style: {
9752
9712
  width: $$1.unitSize(this.x.thumbnailWidth),
9753
- height: $$1.unitSize(this.x.thumbnailHeight)
9713
+ height: $$1.unitSize(this.x.thumbnailHeight),
9754
9714
  },
9755
9715
  onclick: this.chooseFile
9756
9716
  })]
@@ -9765,6 +9725,7 @@ var script$e = {
9765
9725
  computed: {
9766
9726
  html_style() {
9767
9727
  return {
9728
+ '--w-thumbnail-width': $$1.unitSize(this.x.thumbnailWidth),
9768
9729
  '--w-label-min-height': $$1.unitSize(this.x.thumbnailHeight),
9769
9730
  '--w-gap': $$1.unitSize(this.x.gap),
9770
9731
  }
@@ -9799,7 +9760,7 @@ script$d.__file = "src/widgets/ImageUpload.vue";
9799
9760
 
9800
9761
  var script$c = {
9801
9762
  name: 'w-option',
9802
- mixins: [script$19],
9763
+ mixins: [script$1b],
9803
9764
  props: ['value', 'text', 'disabled'],
9804
9765
  inject: ['provideOptionParent'],
9805
9766
  methods: {
@@ -9820,27 +9781,28 @@ var script$c = {
9820
9781
  }
9821
9782
  };
9822
9783
 
9823
- const _hoisted_1 = { class: "f-flex-1 f-line-1" };
9784
+ const _hoisted_1$1 = ["disabled", "title"];
9785
+ const _hoisted_2$1 = { class: "f-flex-1 f-line-1" };
9824
9786
 
9825
9787
  function render$1(_ctx, _cache, $props, $setup, $data, $options) {
9826
- return (openBlock(), createBlock("button", mergeProps(_ctx.html_attrs, {
9788
+ return (openBlock(), createElementBlock("button", mergeProps(_ctx.html_attrs, {
9827
9789
  class: ['f-flex-align', $options.provideOptionParent.$options.name + '-option', {'z-on': $options.isFocus, 'z-ds': $props.disabled, 'z-mul': $options.isMul}],
9828
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.click && $options.click(...args))),
9790
+ onClick: _cache[0] || (_cache[0] = (...args) => ($options.click && $options.click(...args))),
9829
9791
  disabled: $props.disabled,
9830
9792
  title: $props.text
9831
9793
  }), [
9832
- createVNode("div", _hoisted_1, [
9794
+ createElementVNode("div", _hoisted_2$1, [
9833
9795
  renderSlot(_ctx.$slots, "default", {}, () => [
9834
9796
  createTextVNode(toDisplayString($props.text), 1 /* TEXT */)
9835
9797
  ])
9836
9798
  ]),
9837
9799
  ($options.isMul)
9838
- ? (openBlock(), createBlock("div", {
9800
+ ? (openBlock(), createElementBlock("div", {
9839
9801
  key: 0,
9840
- class: ['w-option-checked', {'f-i f-i-check': $options.isFocus}]
9802
+ class: normalizeClass(['w-option-checked', {'f-i f-i-check': $options.isFocus}])
9841
9803
  }, null, 2 /* CLASS */))
9842
9804
  : createCommentVNode("v-if", true)
9843
- ], 16 /* FULL_PROPS */, ["disabled", "title"]))
9805
+ ], 16 /* FULL_PROPS */, _hoisted_1$1))
9844
9806
  }
9845
9807
 
9846
9808
  script$c.render = render$1;
@@ -10207,7 +10169,7 @@ var script$a = {
10207
10169
  onClose: this.onclose
10208
10170
  };
10209
10171
  if (this.x.dropProps) dropProps = mergeProps(dropProps, this.x.dropProps);
10210
- r.push(h(script$13, dropProps, {
10172
+ r.push(h(script$15, dropProps, {
10211
10173
  default: () => h(script$r, {
10212
10174
  height: '*',
10213
10175
  pad: true,
@@ -10367,7 +10329,7 @@ var script$9 = {
10367
10329
  onClose: () => this.showDrop = false
10368
10330
  };
10369
10331
  if (this.x.dropProps) dropProps = mergeProps(dropProps, this.x.dropProps);
10370
- r.push(h(script$13, dropProps, {default: () => h(script$15, {height: '*', scrollY: true, scrollView: '.z-on'}, this.$slots)}));
10332
+ r.push(h(script$15, dropProps, {default: () => h(script$17, {height: '*', scrollY: true, scrollView: '.z-on'}, this.$slots)}));
10371
10333
  }
10372
10334
  return r
10373
10335
  },
@@ -10760,7 +10722,7 @@ var script$5 = {
10760
10722
  onClose: () => this.showSuggest = false
10761
10723
  };
10762
10724
  if (this.x.dropProps) dropProps = mergeProps(dropProps, this.x.dropProps);
10763
- r.push(h(script$13, dropProps, {default: () => h(script$15, {height: '*', scrollY: true}, this.$slots)}));
10725
+ r.push(h(script$15, dropProps, {default: () => h(script$17, {height: '*', scrollY: true}, this.$slots)}));
10764
10726
  }
10765
10727
  return [
10766
10728
  this.html_input_hidden(),
@@ -11216,7 +11178,7 @@ var script$4 = {
11216
11178
  onClose: () => this.showSuggest = false
11217
11179
  };
11218
11180
  if (this.x.dropProps) dropProps = mergeProps(dropProps, this.x.dropProps);
11219
- r.push(h(script$13, dropProps, {default: () => h(script$15, {height: '*', scrollY: true}, this.$slots)}));
11181
+ r.push(h(script$15, dropProps, {default: () => h(script$17, {height: '*', scrollY: true}, this.$slots)}));
11220
11182
  }
11221
11183
  return [
11222
11184
  this.html_input_hidden(),
@@ -11341,6 +11303,9 @@ var script$3 = {
11341
11303
  }
11342
11304
  };
11343
11305
 
11306
+ const _hoisted_1 = ["src"];
11307
+ const _hoisted_2 = ["src", "width"];
11308
+
11344
11309
  function render(_ctx, _cache, $props, $setup, $data, $options) {
11345
11310
  const _component_w_dialog = resolveComponent("w-dialog");
11346
11311
 
@@ -11352,20 +11317,20 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
11352
11317
  context: $props.context
11353
11318
  }, {
11354
11319
  default: withCtx(() => [
11355
- createVNode("img", {
11320
+ createElementVNode("img", {
11356
11321
  class: "w-jigsaw-big",
11357
11322
  src: $options.bigSrc
11358
- }, null, 8 /* PROPS */, ["src"]),
11359
- createVNode("img", {
11323
+ }, null, 8 /* PROPS */, _hoisted_1),
11324
+ createElementVNode("img", {
11360
11325
  class: "w-jigsaw-small",
11361
11326
  src: $options.smallSrc,
11362
11327
  width: $options.smallWidth,
11363
- style: {left: $data.smallLeft + 'px'},
11364
- onDragstart: _cache[1] || (_cache[1] = withModifiers((...args) => ($options.dragstart && $options.dragstart(...args)), ["prevent"])),
11365
- onMousedown: _cache[2] || (_cache[2] = (...args) => ($options.mousedown && $options.mousedown(...args)))
11366
- }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, ["src", "width"]),
11367
- createVNode("span", {
11368
- onClick: _cache[3] || (_cache[3] = (...args) => ($options.refresh && $options.refresh(...args))),
11328
+ style: normalizeStyle({left: $data.smallLeft + 'px'}),
11329
+ onDragstart: _cache[0] || (_cache[0] = withModifiers((...args) => ($options.dragstart && $options.dragstart(...args)), ["prevent"])),
11330
+ onMousedown: _cache[1] || (_cache[1] = (...args) => ($options.mousedown && $options.mousedown(...args)))
11331
+ }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, _hoisted_2),
11332
+ createElementVNode("span", {
11333
+ onClick: _cache[2] || (_cache[2] = (...args) => ($options.refresh && $options.refresh(...args))),
11369
11334
  class: "w-jigsaw-refresh"
11370
11335
  }, "刷新")
11371
11336
  ]),
@@ -11635,7 +11600,7 @@ var script = {
11635
11600
  this.x.modelValue = this.x.cancelable && this.x.modelValue == i ? '' : i;
11636
11601
  },
11637
11602
  html_star(i) {
11638
- return h(script$$, {
11603
+ return h(script$_, {
11639
11604
  class: ['w-rate-star-icon', {'z-hv': this.hoverWrap && i <= this.hoverIndex, 'z-on': !this.hoverWrap && i <= this.x.modelValue}],
11640
11605
  src: '.f-i .f-i-star-full',
11641
11606
  onMouseenter: e => this.hoverItem(e, i),
@@ -11679,9 +11644,9 @@ var script = {
11679
11644
  script.__file = "src/widgets/Rate.vue";
11680
11645
 
11681
11646
  const components = [
11682
- script$1a, script$14, script$13, script$12, script$11, script$10, script$Y, script$X, script$W,
11683
- script$M, script$15, script$16, script$V, script$U, script$T, script$Q, script$R, script$P, script$O, script$N, script$K, script$L, script$G, script$F,
11684
- script$E, script$$, script$J, script$_, script$Z, script$D, script$C, script$x, script$w, script$v, script$u, script$t, script$s, script$r, script$q, script$p, script$o,
11647
+ script$1c, script$16, script$15, script$13, script$11, script$$, script$X, script$W,
11648
+ script$M, script$17, script$18, script$V, script$U, script$T, script$Q, script$R, script$P, script$O, script$N, script$K, script$L, script$G, script$F,
11649
+ script$E, script$_, script$J, script$Z, script$Y, script$D, script$C, script$x, script$w, script$v, script$u, script$t, script$s, script$r, script$q, script$p, script$o,
11685
11650
  script$B, script$n, script$m, script$l, script$k, script$z, script$j, script$i, script$y, script$h, script$g, script$e, script$d, script$c,
11686
11651
  script$b, script$a, script$9, script$8, script$7, script$6, script$5, script$4, script$2, script$1, script
11687
11652
  ];