@rugal.tu/vuemodel3 1.5.6 → 1.5.8

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.
@@ -395,6 +395,9 @@ export class FileItem {
395
395
  ConvertType: ConvertType,
396
396
  Base64: null,
397
397
  Buffer: null,
398
+ IsLoaded: false,
399
+ IsLoading: true,
400
+ Error: null,
398
401
  });
399
402
  this.$ConvertFile();
400
403
  }
@@ -434,6 +437,15 @@ export class FileItem {
434
437
  get InnerStore() {
435
438
  return this.$Store;
436
439
  }
440
+ get IsLoaded() {
441
+ return this.$Store.IsLoaded;
442
+ }
443
+ get IsLoading() {
444
+ return this.$Store.IsLoading;
445
+ }
446
+ get Error() {
447
+ return this.$Store.Error;
448
+ }
437
449
  Clear() {
438
450
  this.$Store.Base64 = null;
439
451
  this.$Store.Buffer = null;
@@ -442,6 +454,33 @@ export class FileItem {
442
454
  From(Item) {
443
455
  this.$Store = Item.InnerStore;
444
456
  }
457
+ CheckLoadAsync() {
458
+ return new Promise((resolve, reject) => {
459
+ try {
460
+ if (this.$Store.IsLoaded || !this.$Store.IsLoading)
461
+ return resolve(this.$Store.IsLoaded);
462
+ const timeout = setTimeout(() => {
463
+ if (timer)
464
+ clearInterval(timer);
465
+ this.$Store.Error = 'timeout';
466
+ console.error("WaitLoadAsync: timeout");
467
+ reject(false);
468
+ }, 60000);
469
+ const timer = setInterval(() => {
470
+ if (this.$Store.IsLoaded || !this.$Store.IsLoading) {
471
+ clearInterval(timer);
472
+ clearTimeout(timeout);
473
+ resolve(this.$Store.IsLoaded);
474
+ }
475
+ }, 100);
476
+ }
477
+ catch (e) {
478
+ this.$Store.Error = e;
479
+ console.error(e);
480
+ reject(false);
481
+ }
482
+ });
483
+ }
445
484
  $ConvertFile() {
446
485
  if (this.ConvertType == null)
447
486
  return;
@@ -454,12 +493,15 @@ export class FileItem {
454
493
  let TypeItem = GetConvertType[i];
455
494
  switch (TypeItem) {
456
495
  case 'base64':
496
+ this.$Store.IsLoading = true;
457
497
  this.$ConvertBase64();
458
498
  break;
459
499
  case 'buffer':
500
+ this.$Store.IsLoading = true;
460
501
  this.$ConvertBuffer();
461
502
  break;
462
503
  default:
504
+ this.$Store.IsLoaded = true;
463
505
  break;
464
506
  }
465
507
  }
@@ -471,13 +513,21 @@ export class FileItem {
471
513
  return this;
472
514
  let Reader = new FileReader();
473
515
  Reader.readAsDataURL(this.File);
474
- Reader.onload = () => this.Base64 = Reader.result;
516
+ Reader.onload = () => {
517
+ this.Base64 = Reader.result;
518
+ this.$Store.IsLoaded = true;
519
+ this.$Store.IsLoading = false;
520
+ };
475
521
  return this;
476
522
  }
477
523
  $ConvertBuffer() {
478
524
  let Reader = new FileReader();
479
525
  Reader.readAsArrayBuffer(this.File);
480
- Reader.onload = () => this.Buffer = Reader.result;
526
+ Reader.onload = () => {
527
+ this.Buffer = Reader.result;
528
+ this.$Store.IsLoaded = true;
529
+ this.$Store.IsLoading = false;
530
+ };
481
531
  }
482
532
  }
483
533
  export class ApiStore extends FuncBase {
@@ -1300,12 +1350,15 @@ export class VueCommand extends VueStore {
1300
1350
  let Accept = null;
1301
1351
  let ConvertType = 'none';
1302
1352
  let Multi = false;
1353
+ let OnSuccess;
1354
+ let OnError;
1303
1355
  if (typeof (Option) == 'string')
1304
1356
  FileStorePath = Option;
1305
1357
  else {
1306
1358
  FileStorePath = Option.Store;
1307
1359
  ConvertType = Option.ConvertType;
1308
1360
  Multi = Option.Multiple;
1361
+ OnSuccess = Option.OnSuccess;
1309
1362
  if (Array.isArray(Option.Accept))
1310
1363
  Accept = Option.Accept.join(' ');
1311
1364
  else
@@ -1321,13 +1374,34 @@ export class VueCommand extends VueStore {
1321
1374
  TempInput.accept = Accept;
1322
1375
  if (Multi != null)
1323
1376
  TempInput.multiple = Multi;
1324
- TempInput.onchange = (Event) => {
1377
+ TempInput.onchange = async (Event) => {
1325
1378
  if (TempInput.files == null || TempInput.files.length == 0)
1326
1379
  return;
1327
- let Files = TempInput.files;
1380
+ const Files = TempInput.files;
1381
+ const FileItems = [];
1328
1382
  for (let i = 0; i < Files.length; i++) {
1329
1383
  let PickFile = Files[i];
1330
1384
  this.AddFile(FileStorePath, PickFile, ConvertType);
1385
+ let fileData = Model.FileStore[FileStorePath];
1386
+ if (!Array.isArray(fileData)) {
1387
+ fileData = [fileData];
1388
+ }
1389
+ FileItems.push(...fileData);
1390
+ }
1391
+ if (OnSuccess) {
1392
+ let isChecked = true;
1393
+ for (const item of FileItems) {
1394
+ if (item instanceof FileItem) {
1395
+ if (!await item.CheckLoadAsync()) {
1396
+ if (OnError)
1397
+ OnError(item);
1398
+ isChecked = false;
1399
+ break;
1400
+ }
1401
+ }
1402
+ }
1403
+ if (isChecked)
1404
+ OnSuccess(FileItems);
1331
1405
  }
1332
1406
  };
1333
1407
  TempInput.click();
@@ -1352,7 +1426,7 @@ export class VueCommand extends VueStore {
1352
1426
  continue;
1353
1427
  if (Info.StoreValue == '.' && ActionSet.AcceptSelf != true)
1354
1428
  continue;
1355
- let NeedQuery = false;
1429
+ let NeedQuery = Info.Command == 'using';
1356
1430
  let QueryOption = {
1357
1431
  Mode: 'Multi',
1358
1432
  };
@@ -1593,7 +1667,9 @@ export class VueCommand extends VueStore {
1593
1667
  'using': {
1594
1668
  Execute: (Info, Option) => {
1595
1669
  if (typeof (Info.StoreValue) === 'function') {
1596
- Info.StoreValue(Info.DomPaths, Info.Nodes[0], Info.Nodes);
1670
+ const nodes = Info.Nodes;
1671
+ const node = nodes != null ? nodes[0] : null;
1672
+ Info.StoreValue(Info.DomPaths, node, nodes);
1597
1673
  }
1598
1674
  },
1599
1675
  },
@@ -0,0 +1,2 @@
1
+ export class FuncBase{$NavigateToFunc;$DefaultDateJoinChar;constructor(){this.$NavigateToFunc=null;this.WithDateTextJoinChar("/")}WithNavigateTo(n){return this.$NavigateToFunc=n,this}WithDateTextJoinChar(n){return this.$DefaultDateJoinChar=n,this}GenerateId(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15,i=n==="x"?t:t&3|8;return i.toString(16)})}GenerateIdReplace(n){return this.GenerateId().replaceAll("-",n)}GenerateUrl(n,t=null){let i=this.Paths(n);(i==null||i.length==0||i[0].length==0)&&this.$Throw("Url can not be null or empty");i=i.map(n=>n.replace(/\/+$/g,"").replace(/^\/+/g,"/"));let r=this.ToJoin(i,"/");return(r==null||r=="")&&(r="/"),t!=null&&(t=this.ConvertTo_UrlQuery(t),r+=`?${t}`),r}$BaseNavigateTo(n){this.$NavigateToFunc?this.$NavigateToFunc(n):window.location.href=n}NavigateToRoot(){return this.$BaseNavigateTo("/"),this}NavigateTo(n,t=null){let i=this.GenerateUrl(n,t);return this.$BaseNavigateTo(i),this}$BaseNavigateBlank(n){let t=document.createElement("a");t.href=n;t.target="_blank";t.rel="noopener noreferrer";t.click()}NavigateBlank(n,t=null){let i=this.GenerateUrl(n,t);return this.$BaseNavigateBlank(i),this}ForEachObject(n,t){for(let i of Object.getOwnPropertyNames(n))if(!i.match(/^$/g)){let r=n[i];t!=null&&t.call(this,i,r)}}DeepObjectExtend(n,t,i=10){if(i==0)return{...n,...t};let r=Object.keys(t);for(let u=0;u<r.length;u++){let f=r[u];if(f in n)if(typeof t[f]!="object")n[f]=t[f];else{let r={...this.DeepObjectExtend(n[f],t[f],i-1)};n[f]=r}else n[f]=t[f]}return n}ToDateInfo(n){n??=new Date;return this.$CreateDateInfo(n)}ToDateText(n,t){n=this.$CreateDateInfo(n);t??={};typeof t=="string"&&(t={Format:t});t.DateJoinChar??=this.$DefaultDateJoinChar;t.Format??=`yyyy${t.DateJoinChar}MM${t.DateJoinChar}dd`;let i=t.Format;return i=i.replaceAll("yyyy",n.Year.toString().padStart(4,"0")),i=i.replaceAll("MM",n.Month.toString().padStart(2,"0")),i=i.replaceAll("dd",n.Day.toString().padStart(2,"0")),t.Format=i,i}ToDateTimeText(n,t){t??={};typeof t=="string"&&(t={Format:t});t.DateJoinChar??=this.$DefaultDateJoinChar;t.Format??=`yyyy${t.DateJoinChar}MM${t.DateJoinChar}dd HH:mm:ss`;t={...t};n=this.$CreateDateInfo(n);this.ToDateText(n,t);let i=t.Format;return i=i.replaceAll("HH",n.Hour.toString().padStart(2,"0")),i=i.replaceAll("mm",n.Minute.toString().padStart(2,"0")),i.replaceAll("ss",n.Second.toString().padStart(2,"0"))}$CreateDateInfo(n){if(n??=new Date,typeof n=="string"&&(n=new Date(n)),n instanceof Date==!1)return n;return{Date:n,Year:n.getFullYear(),Month:n.getMonth()+1,Day:n.getDate(),Hour:n.getHours(),Minute:n.getMinutes(),Second:n.getSeconds()}}ConvertTo_UrlQuery(n){if(typeof n=="string")return n;let t=[];this.ForEachObject(n,(n,i)=>{t.push(`${n}=${i}`)});return t.join("&")}ClearUrl(n){return n.replace(/^\/+|\/+$/g,"")}ToJoin(n,t="."){let i=this.Paths(n);return i.join(t)}Paths(...n){if(!Array.isArray(n))return[n];let t=[];for(let i of n)if(i!=null){if(!Array.isArray(i)){t.push(i);continue}i.length!=0&&t.push(...this.Paths(...i))}return t}IsPathType(n){if(Array.isArray(n)){for(let t of n){let n=this.IsPathType(t);if(!n)return!1}return!0}return typeof n=="string"?!0:!1}$Throw(n){throw new Error(n);}$Error(n){console.error(n)}}export class QueryNode extends FuncBase{NodeId;Dom;DomName=null;Parent=null;Children=[];ElementDeep=0;NodeDeep=0;constructor(n){super();this.Dom=n;this.NodeId=this.GenerateIdReplace("")}Query(n,t){return this.$RCS_QueryChildrens(this,n,t)}QueryCss(n,t){return this.$RCS_QueryCssChildrens(this,n,t)}Selector(n){return this.Dom.querySelector(n)}SelectorAll(n){return this.Dom.querySelectorAll(n)}$RCS_QueryChildrens(n,t,i){if(t==null)return null;t=this.Paths(t);t.length==1&&(t=t[0]);let r=[];for(let u of n.Children){if(Array.isArray(t)){let n=[...t],f=n.shift();if(u.DomName==f){n.length==1&&(n=n[0]);let t=this.$RCS_QueryChildrens(u,n,i);if(t!=null){r.push(...t);continue}}}else if(u.DomName==t&&(r.push(u),i.Mode=="Multi"))continue;let n=this.$RCS_QueryChildrens(u,t,i);n!=null&&r.push(...n)}return r}$RCS_QueryCssChildrens(n,t,i){let r=[];for(let u of n.Children)if(!u.Dom.matches(t)||(r.push(u),i.Mode!="Multi")){let n=this.$RCS_QueryCssChildrens(u,t,i);n!=null&&r.push(...n)}return r}}export class DomQueryer{$Root=null;$RootNode=null;$Nodes=[];$QueryDomName=null;IsInited=false;WithRoot(n){return this.$Root=document.querySelector(n),this}WithDomName(n){return this.$QueryDomName=n,this}Init(n=false){return this.IsInited&&!n?this:(this.$Root??=document.body,this.$RootNode=new QueryNode(this.$Root),this.$RCS_Visit(this.$Root,this.$RootNode,0),this.$Nodes=this.$Nodes.sort((n,t)=>n.NodeDeep-t.NodeDeep),this.IsInited=!0,this)}Query(n,t){return Queryer.IsInited||Queryer.Init(),t==null?t={Mode:"Multi"}:t instanceof QueryNode&&(t={Mode:"Multi",TargetNode:t}),t.TargetNode==null&&(t.TargetNode=this.$RootNode),t.TargetNode.Query(n,t)}QueryCss(n,t){return Queryer.IsInited||Queryer.Init(),t==null?t={Mode:"Multi"}:t instanceof QueryNode&&(t={Mode:"Multi",TargetNode:t}),t.TargetNode==null&&(t.TargetNode=this.$RootNode),t.TargetNode.QueryCss(n,t)}Using(n,t,i){let r=this.Query(n,{Mode:"Multi",TargetNode:i});return r!=null&&r.length>0&&t({QueryNodes:r}),this}$RCS_Visit(n,t,i){let u=this.$AddNode(n,t,i);u??=t;let r=n.children;if(n instanceof HTMLTemplateElement&&(r=n.content.children),r!=null&&r.length!=0)for(let n=0;n<r.length;n++){let t=r[n];t instanceof HTMLElement&&this.$RCS_Visit(t,u,i+1)}}$AddNode(n,t,i){if(this.$QueryDomName!=null&&!n.matches(`[${this.$QueryDomName}]`))return null;let u=n.getAttribute(this.$QueryDomName),r=new QueryNode(n);return r.DomName=u,r.ElementDeep=i,this.$Nodes.push(r),t!=null&&(r.Parent=t,r.NodeDeep=t.NodeDeep+1,t.Children.push(r)),r}}export var Queryer=new DomQueryer;export class FileItem{OnChangeBase64;OnChangeBuffer;$Store;constructor(n,i="none"){n==null?this.$Store=t({}):(this.$Store=t({FileId:(new FuncBase).GenerateId(),File:n,ConvertType:i,Base64:null,Buffer:null,IsLoaded:!1,IsLoading:!0,Error:null}),this.$ConvertFile())}get FileId(){return this.$Store.FileId}set FileId(n){this.$Store.FileId=n}get File(){return this.$Store.File}set File(n){this.$Store.File=n}get ConvertType(){return this.$Store.ConvertType}set ConvertType(n){this.$Store.ConvertType=n}get Base64(){return this.$Store.Base64}set Base64(n){this.$Store.Base64=n;this.OnChangeBase64?.call(this,this.$Store.Base64)}get Buffer(){return this.$Store.Buffer}set Buffer(n){this.$Store.Buffer=n;this.OnChangeBuffer?.call(this,this.$Store.Buffer)}get InnerStore(){return this.$Store}get IsLoaded(){return this.$Store.IsLoaded}get IsLoading(){return this.$Store.IsLoading}get Error(){return this.$Store.Error}Clear(){this.$Store.Base64=null;this.$Store.Buffer=null;this.$Store.File=null}From(n){this.$Store=n.InnerStore}CheckLoadAsync(){return new Promise((n,t)=>{try{if(this.$Store.IsLoaded||!this.$Store.IsLoading)return n(this.$Store.IsLoaded);const r=setTimeout(()=>{i&&clearInterval(i),this.$Store.Error="timeout",console.error("WaitLoadAsync: timeout"),t(!1)},6e4),i=setInterval(()=>{(this.$Store.IsLoaded||!this.$Store.IsLoading)&&(clearInterval(i),clearTimeout(r),n(this.$Store.IsLoaded))},100)}catch(i){this.$Store.Error=i;console.error(i);t(!1)}})}$ConvertFile(){if(this.ConvertType!=null){let n=[];n=Array.isArray(this.ConvertType)?this.ConvertType:[this.ConvertType];for(let t=0;t<n.length;t++){let i=n[t];switch(i){case"base64":this.$Store.IsLoading=!0;this.$ConvertBase64();break;case"buffer":this.$Store.IsLoading=!0;this.$ConvertBuffer();break;default:this.$Store.IsLoaded=!0}}}}$ConvertBase64(n=false){if(this.File==null||this.Base64!=null&&n==!1)return this;let t=new FileReader;return t.readAsDataURL(this.File),t.onload=()=>{this.Base64=t.result,this.$Store.IsLoaded=!0,this.$Store.IsLoading=!1},this}$ConvertBuffer(){let n=new FileReader;n.readAsArrayBuffer(this.File);n.onload=()=>{this.Buffer=n.result,this.$Store.IsLoaded=!0,this.$Store.IsLoading=!1}}}export class ApiStore extends FuncBase{#ApiDomain=null;#RootRoute=null;#AccessToken=null;#RefreshToken=null;#HeaderFuncs=[];#OnEventFunc={};#OnEventName={ApiStore:{AddApi:"AddApi",UpdateStore:"UpdateStore",AddStore:"AddStore",SetStore:"SetStore"}};#OnSuccess;#OnError;#OnComplete;#ExportSuccessStore;#Store={FileStore:{}};#Func_ConvertTo_FormData=[];constructor(){super();this.SetStore("api",{})}get ApiDomain(){return this.#ApiDomain==null?null:this.ClearUrl(this.#ApiDomain)}set ApiDomain(n){this.#ApiDomain=this.ClearUrl(n)}get OnEventName(){return this.#OnEventName}get #EventName(){return this.OnEventName.ApiStore}get Store(){return this.#Store}set Store(n){this.#Store=n}get ApiStore(){return this.GetStore("api")}get FileStore(){return this.Store.FileStore}WithAccessToken(n){return this.#AccessToken=n,this}WithRefreshToken(n){return this.#RefreshToken=n,this}WithApiDomain(n){return this.ApiDomain=n,this}WithRootRoute(n){return this.#RootRoute=n,this}WithHeader(n){return this.#HeaderFuncs.push(n),this}WithOnSuccess(n){return this.#OnSuccess=n,this}WithOnError(n){return this.#OnError=n,this}WithOnComplete(n){return this.#OnComplete=n,this}WithExportSuccessStore(n){return this.#ExportSuccessStore=n,this}WithConvertTo_FormParam(n){return this.#Func_ConvertTo_FormData.push(n),this}ClearConvertTo_FormParam(){return this.#Func_ConvertTo_FormData=[],this}ConvertTo_ApiUrl(n,t=null){let i=n;return this.ApiDomain==null||i.includes("http")||(i=`${this.ApiDomain}/${this.ClearUrl(i)}`),t!=null&&(i=`${i}?${this.ConvertTo_UrlQuery(t)}`),i}AddApi(n){for(let t in n){let r=n[t],i={ApiKey:t,...r};this.AddStoreFrom(this.ApiStore,t,{});this.UpdateStoreFrom(this.ApiStore,t,i);this.$EventTrigger(this.#EventName.AddApi,i)}return this}ApiCall(n,t=null){return this.$BaseApiCall(n,t,!1),this}ApiCall_Form(n,t=null){return this.$BaseApiCall(n,t,!0),this}$BaseApiCall(n,t,i){let r=this.ApiStore[n];r==null&&this.$Throw(`Api setting not found of "${n}"`);let u=t?.Query??r.Query,f=t?.Body??r.Body,e=t?.File??r.File;typeof u=="function"&&(u=u());typeof f=="function"&&(f=f());typeof e=="function"&&(e=e());let s=t?.IsUpdateStore??r.IsUpdateStore??!0,h=this.ConvertTo_ApiUrl(r.Url,u),o=this.$GenerateFetchRequest(r,f,e,i);this.PubApi(n,"IsCalling",!0);r.OnCalling?.call(this,o);t?.OnCalling?.call(this,o);fetch(h,o).then(async i=>{if(!i.ok)throw i;let u=await this.$ProcessApiReturn(i);if(s){r.Export!=!1&&(typeof r.Export=="function"?u=r.Export?.call(this,u,i):this.#ExportSuccessStore!=null&&(u=this.#ExportSuccessStore?.call(this,u,i)));let n=r.ApiKey;this.UpdateStore(n,u)}return this.PubApi(n,"IsSuccess",!0),this.PubApi(n,"IsError",!1),r.OnSuccess?.call(this,u,i),t?.OnSuccess?.call(this,u,i),this.#OnSuccess?.call(this,u,i),{ConvertResult:u,ApiResponse:i}}).catch(i=>{this.PubApi(n,"IsError",!0),this.PubApi(n,"IsSuccess",!1),this.$Error(i.message),r.OnError?.call(this,i),t?.OnError?.call(this,i),this.#OnError?.call(this,i)}).then(i=>{this.PubApi(n,"IsCalling",!1),this.PubApi(n,"IsComplete",!0),i instanceof Object?(r.OnComplete?.call(this,i.ConvertResult,i.ApiResponse),t?.OnComplete?.call(this,i.ConvertResult,i.ApiResponse),this.#OnComplete?.call(this,i.ConvertResult,i.ApiResponse)):(r.OnComplete?.call(this),t?.OnComplete?.call(this),this.#OnComplete?.call(this,null,null))})}$GenerateFetchRequest(n,t,i,r){let u=new Headers;if(u.set("Authorization",`Bearer ${this.#AccessToken}`),this.#HeaderFuncs.length>0)for(let n of this.#HeaderFuncs)n(u);let f={method:n.Method,headers:u};if(r){let n=this.$ConvertTo_FormData(t,new FormData);n=this.$ConvertTo_FormFile(i,n);f.body=n;f.method="POST"}else u.set("content-type","application/json"),n.Method!="GET"&&(f.body=JSON.stringify(t??{}));return f}AddSubApi(n,t){typeof t=="function"&&(t={NotifyEvent:t});let r={...t};this.AddStoreFrom(this.ApiStore,n,{});let i=this.ApiStore[n];return i.$sub??=[],i.$sub.push(r),this}PubApi(n,t,i){let r=this.ApiStore[n];if(r[t]=i,r.$sub==null||!Array.isArray(r.$sub))return this;for(let n of r.$sub){let i=n;(i.PropertyName==null||i.PropertyName==t)&&i.NotifyEvent({PropertyName:t,ApiStore:r,Value:r[t]})}return this}UseFormJsonBody(n="Body"){return this.WithConvertTo_FormParam(t=>{let i={};return i[n]=JSON.stringify(t),i}),this}EventAdd_AddApi(n){return this.$EventAdd(this.#EventName.AddApi,n),this}EventAdd_UpdateStore(n){return this.$EventAdd(this.#EventName.UpdateStore,n),this}EventAdd_AddStore(n){return this.$EventAdd(this.#EventName.AddStore,n),this}EventAdd_SetStore(n){return this.$EventAdd(this.#EventName.SetStore,n),this}$EventAdd(n,t){n in this.#OnEventFunc==!1&&(this.#OnEventFunc[n]=[]);this.#OnEventFunc[n].push(t)}$EventTrigger(n,t){let i=this.#OnEventFunc[n];if(i!=null)for(let n of i)n(t)}GetStore(n,t){return this.GetStoreFrom(this.Store,n,t)}AddStore(n,t=null){return this.AddStoreFrom(this.Store,n,t)}SetStore(n,t){return this.SetStoreFrom(this.Store,n,t)}UpdateStore(n,t){return this.UpdateStoreFrom(this.Store,n,t)}ClearStore(n,t){return this.ClearStoreFrom(this.Store,n,t)}GetStoreFrom(n,t,i){typeof i=="boolean"&&(i={Clone:i});i??={};i.Clone??=!1;i.CreateIfNull??=!1;i.DefaultValue==null&&(i.DefaultValue={});t=this.ToJoin(t);let r=this.$RCS_GetStore(t,n,{CreateIfNull:i.CreateIfNull,DefaultValue:i.DefaultValue});if(i.Clone){let n={},t=Object.getOwnPropertyNames(r);for(let i of t)i.match(/^\$/g)||(n[i]=r[i]);return n}return r}AddStoreFrom(n,t,i=null){return(t=this.ToJoin(t),this.GetStoreFrom(n,t)!=null)?this:(this.$RCS_SetStore(t,i,n,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.AddStore,{Path:t,Data:i}),this)}SetStoreFrom(n,t,i){return t!=null&&(t=this.ToJoin(t)),this.$RCS_SetStore(t,i,n,{IsDeepSet:!1}),this.$EventTrigger(this.#EventName.SetStore,{Path:t,Data:i}),this}UpdateStoreFrom(n,t,i){return t!=null&&(t=this.ToJoin(t)),this.$RCS_SetStore(t,i,n,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.UpdateStore,{Path:t,Data:i}),this}ClearStoreFrom(n,t,i){i??={};typeof i=="boolean"&&(i={DeepClear:i});let r=t==null?n:this.GetStoreFrom(n,t);return r==null?this:(this.$RCS_ClearStore(r,i),this)}$RCS_GetStore(n,t,i){if(t==null)return null;n=n.replaceAll(/\[|\]/g,".").replace(/\.+/g,".").replace(/\.$/,"");let r=n.split("."),u=r.shift();t[u]==null&&i.CreateIfNull&&(t[u]=Array.isArray(i.DefaultValue)?[...i.DefaultValue]:typeof i.DefaultValue=="object"?{...i.DefaultValue}:i.DefaultValue);let f=t[u];if(r.length==0)return f;let e=r.join(".");return this.$RCS_GetStore(e,f,i)}$RCS_SetStore(n,t,i,r={IsDeepSet:true}){if(n==null)return this.$DeepSetObject(t,i),t;if(n=n.replaceAll(/\[|\]/g,".").replace(/\.+/g,".").replace(/\.$/,""),n.includes(".")){let f=n.split("."),u=f.shift();i[u]==null&&(i[u]={});let e=i[u],o=f.join(".");return this.$RCS_SetStore(o,t,e,r)}let u=t==null||!r.IsDeepSet||i[n]==null||typeof t!="object";return u?(i[n]=t,t):this.$RCS_SetStore(null,t,i[n])}$RCS_ClearStore(n,t){if(typeof n=="object"){if(Array.isArray(n)){n.length=0;return}let i=Object.getOwnPropertyNames(n);for(let r of i)if(!r.match(/^\$/g))if(typeof n[r]=="function")continue;else t.DeepClear&&typeof n[r]=="object"?this.$RCS_ClearStore(n[r],t):n[r]=null}}$DeepSetObject(n,t){if(n==null){this.ClearStoreFrom(t);return}if(Array.isArray(n)){if(!Array.isArray(t))return;t.length=0;n.forEach(n=>t.push(n));return}this.ForEachObject(n,(n,i)=>{let r=!1;Array.isArray(i)?(t[n]!=null&&Array.isArray(t[n])||(t[n]=[]),r=!0):i!=null&&typeof i=="object"&&((t[n]==null||typeof t[n]!="object")&&(t[n]={}),r=!0);r?this.$DeepSetObject(i,t[n]):t[n]=i})}AddFileStore(n,t){return t??={},this.FileStore[n]==null&&(this.FileStore[n]=t.Multi==!0?[]:new FileItem),this}Files(n,t=null){let i=this.FileStore[n];if(i==null)return[];Array.isArray(i)||(i=[i]);t!=null&&(i=i.filter(n=>t(n)));return i.map(n=>n.File)}File(n,t=null){let i=this.Files(n,t);return i==null||i.length==0?null:i[0]}AddFile(n,t,i="none"){if(t!=null){this.AddFileStore(n);let r=this.FileStore[n];return Array.isArray(t)?Array.isArray(r)?t.forEach(t=>this.AddFile(n,t)):this.AddFile(n,t[0]):(t instanceof FileItem==!1&&(t=new FileItem(t,i)),Array.isArray(r)?r.push(t):r.From(t)),this}}RemoveFile(n,t){let i=this.FileStore[n];if(i==null)return this;if(Array.isArray(t))t.forEach(t=>this.RemoveFile(n,t));else if(Array.isArray(i)){let n=i.findIndex(n=>n.FileId==t);n>=0&&i.splice(n,1)}else i.Clear();return this}ClearFile(n){let t=this.FileStore[n];return t==null?this:(Array.isArray(t)?t.splice(0,t.length):t.Clear(),this)}$ProcessApiReturn(n){let t=n.headers.get("content-type");return t.includes("application/json")?n.json():t.includes("text")?n.text():new Promise(t=>{t(n)})}NavigateToRoot(){let n=this.#RootRoute??"/";return super.$BaseNavigateTo(n),this}$ConvertTo_FormData(n,t){return(t??=new FormData,n==null)?t:(this.#Func_ConvertTo_FormData.forEach(i=>{n=i(n,t)}),n instanceof FormData)?n:(this.ForEachObject(n,(n,i)=>{t.append(n,i)}),t)}$ConvertTo_FormFile(n,t){if(t??=new FormData,n==null)return t;if(Array.isArray(n)||n instanceof File||n instanceof FileItem)return this.$AppendFileToFormData("Files",t,n),t;let i=Object.keys(n);for(let r=0;r<i.length;r++){let u=i[r],f=n[u];this.$AppendFileToFormData(u,t,f)}return t}$AppendFileToFormData(n,t,i){if(Array.isArray(i))for(let r=0;r<i.length;r++)this.$AppendFileToFormData(n,t,i[r]);else i instanceof File?t.append(n,i):t.append(n,i.File);return t}}import{createApp as r,reactive as t,nextTick as u}from"vue";import{watch as i}from"vue";export class VueStore extends ApiStore{$VueProxy=null;$VueOption={methods:{},components:{},computed:{}};$VueApp=null;$VueUse=[];$CoreStore="app";$MountedFuncs=[];$Directive=[];constructor(){super();this.#Setup()}#Setup(){this.EventAdd_AddApi(n=>{this.AddStore(n.ApiKey)}).EventAdd_UpdateStore(()=>{this.ForceUpdate()}).EventAdd_AddStore(()=>{this.ForceUpdate()}).EventAdd_SetStore(()=>{this.ForceUpdate()}).AddStore(this.$CoreStore,{}).WithMounted(()=>{this.UpdateStore([this.$CoreStore,"IsMounted"],!0)})}get Store(){return this.$VueProxy!=null?this.$VueProxy:super.Store}set Store(n){super.Store=n}WithVueOption(n={}){return this.$VueOption=this.DeepObjectExtend(this.$VueOption,n),this}WithMounted(n=()=>{}){return this.$MountedFuncs.push(n),this}WithComponent(n={}){return this.$VueOption.components=this.DeepObjectExtend(this.$VueOption.components,n),this}WithVueUse(...n){for(let t of n)this.$VueUse.push(t);return this}WithDirective(n,t){return this.$Directive.push({Name:n,Directive:t}),this}ForceUpdate(){return this.$VueProxy?.$forceUpdate(),this}Refs(t){return this.$VueProxy?this.$VueProxy.$refs[n.ToJoin(t)]:null}}export class VueCommand extends VueStore{$IsInited=false;$CommandMap;$QueryDomName=null;constructor(){super();this.$SetupCommandMap()}WithQueryDomName(n){return this.$QueryDomName=n,Queryer.WithDomName(this.$QueryDomName),this}AddV_Text(t,i){let r=this.$ConvertCommandOption(t,i);if(typeof r.Target!="function"){let t=n.ToJoin(r.Target);/^[A-Za-z_$][A-Za-z0-9_$]*(\.[A-Za-z_$][A-Za-z0-9_$]*)*$/.test(t)&&n.AddStore(r.Target)}return r.FuncAction=!0,this.$AddCommand(t,"v-text",r),this}AddV_Model(n,t,i){let r=this.$ConvertCommandOption(t);return i??={},i.DefaultValue??=null,r.CommandKey=i.ModelValue,this.AddStore(t,i.DefaultValue),this.$AddCommand(n,"v-model",r),this}AddV_Slot(n,t,i){let r=this.$ConvertCommandOption(n,i);return t!=null&&(r.CommandKey=t),this.$AddCommand(n,`v-slot`,r),this}AddV_For(t,i,r){let u=this.$ConvertCommandOption(t,i);r&&(r=this.ToJoin(r),/^\(/.test(r)||(r=`(${r}`),/\)$/.test(r)||(r+=")"),u.TargetHead=`${r} in `);let f=n.ToJoin(u.Target);return/\b(in|of)\b/.test(f)||(u.TargetHead??="(item, index) in "),u.FuncAction=!0,this.$AddCommand(t,"v-for",u),this}AddV_If(n,t){let i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){let i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-else-if",i),this}AddV_Else(n){let t=this.$ConvertCommandOption(n);return t.Target="",this.$AddCommand(n,"v-else",t),this}AddV_Show(n,t){let i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){let u=this.$ConvertCommandOption(n,i,r);return u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){let u=this.$ConvertCommandOption(n,i,r);return u.CommandKey=t,this.$AddCommand(n,`v-on`,u),this}Watch(t,r,u={}){let f;return typeof t=="function"?f=i(t,r,u):(n.AddStore(t),f=i(()=>n.GetStore(t),r,u)),f}AddV_Watch(t,i,r={}){return n.WithMounted(()=>{this.Watch(t,i,r)}),this}AddV_Function(t,i){return this.$IsInited&&!Array.isArray(t)?this.$VueOption.methods[t]=i:n.UpdateStore(t,i),this}AddV_OnChange(n,t,i){return this.AddV_On(n,"change",t,i),this}AddV_Click(n,t,i){let r=this.$ConvertCommandOption(n,t,i);return this.AddV_On(n,"click",r),this}AddV_FilePicker(t,i){let r=null,f=null,o="none",u=!1,e,s;return typeof i=="string"?r=i:(r=i.Store,o=i.ConvertType,u=i.Multiple,e=i.OnSuccess,f=Array.isArray(i.Accept)?i.Accept.join(" "):i.Accept),this.AddFileStore(r,{Multi:u}),this.AddV_Click(t,()=>{let t=document.createElement("input");t.type="file";f!=null&&(t.accept=f);u!=null&&(t.multiple=u);t.onchange=async()=>{if(t.files!=null&&t.files.length!=0){const u=t.files,i=[];for(let t=0;t<u.length;t++){let e=u[t];this.AddFile(r,e,o);let f=n.FileStore[r];Array.isArray(f)||(f=[f]);i.push(...f)}if(e){let n=!0;for(const t of i)if(t instanceof FileItem&&!await t.CheckLoadAsync()){s&&s(t);n=!1;break}n&&e(i)}}};t.click()}),this}AddV_Tree(t,i,r){let e=[],u,f=t instanceof QueryNode;f&&(u=t);let o=f?[]:this.Paths(t);this.$ParseTreeSet(o,i,e);for(let t of e){let e=this.$CommandMap[t.Command];if(e==null){n.$Error(`${t.Command} command is not allowed, path: ${this.ToJoin(t.DomPaths)}`);continue}if(t.StoreValue!=""&&(t.StoreValue!=null||e.AcceptNull==!0)&&(t.StoreValue!="."||e.AcceptSelf==!0)){let o=t.Command=="using",s={Mode:"Multi"};if(f&&(o=!0,s.TargetNode=u),r?.UseDeepQuery&&(o=!0,s.Mode="DeepMulti"),o){let n=[u];t.DomPaths.length>0&&(n=Queryer.Query(t.DomPaths,s));t.Nodes=n}let h=o?t.Nodes:t.DomPaths,i;if(typeof t.StoreValue=="function")i={Target:t.StoreValue,FuncArgs:t.Args};else if(typeof t.StoreValue=="string"||Array.isArray(t.StoreValue))t.StoreValue=="."?i=this.Paths(t.TreePaths,t.DomName):t.StoreValue!=null&&t.StoreValue!=""&&(i=t.StoreValue);else if(i={Target:t.StoreValue?.TargetFunc,FuncArgs:t.StoreValue?.Args},t.StoreValue?.Args!=null){let i=t.StoreValue.Args;t.Args=t.Args==null?n.ToJoin(i,", "):n.ToJoin([t.Args,i],", ")}e.Execute(t,{TargetDom:h,TargetValue:i})}}return this}$ParseTreeSet(n,t,i){const u=/^:(?<next>.+)$/,r=Object.keys(t);for(let f=0;f<r.length;f++){const e=r[f],o=t[e],s=[...n],h=[...n],v=h.pop(),c=e.match(u);if(c){const t=c.groups.next;typeof o=="function"?i.push({Command:"using",StoreValue:o,TreePaths:[...s],DomPaths:[...s,t],DomName:t}):this.$ParseTreeSet([...n,t],o,i);continue}const l=(n,t,i)=>{if(!n.includes(t)||!n.includes(i))return null;const r=n.indexOf(t),u=n.lastIndexOf(i),f=n.slice(r+1,u).trim();return f?.trim()},y=n=>{let i=null,r=null;n.includes("(")&&(i=n.indexOf("("));n.includes("<")&&(r=n.indexOf("<"));let t=null;if(i==null&&r==null)t=n;else if(i==null||r==null){let u=i??r;t=n.slice(0,u)}else{let u=Math.min(i,r);t=n.slice(0,u)}let u=t,f=null;if(t.includes(":")){let n=u.indexOf(":");u=t.slice(0,n);f=t.slice(n+1)}return{Command:u?.trim(),CommandKey:f?.trim()}},p=l(e,"(",")"),w=l(e,"<",">"),a=y(e);i.push({Command:a?.Command,CommandKey:a?.CommandKey,ForKey:w,Args:p,StoreValue:o,TreePaths:h,DomPaths:s,DomName:v});continue}}$SetupCommandMap(){this.$CommandMap={"v-text":{Execute:(t,i)=>{n.AddV_Text(i.TargetDom,i.TargetValue)},AcceptSelf:!0},"v-model":{Execute:(t,i)=>{if(typeof i.TargetValue=="function"){n.$Error(`v-model command value must be a string or string[], path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Model(i.TargetDom,i.TargetValue,{ModelValue:t.CommandKey})},AcceptSelf:!0},"v-for":{Execute:(t,i)=>{n.AddV_For(i.TargetDom,i.TargetValue,t.ForKey)},AcceptSelf:!0},"v-show":{Execute:(t,i)=>{n.AddV_Show(i.TargetDom,i.TargetValue)},AcceptSelf:!0},"v-if":{Execute:(t,i)=>{n.AddV_If(i.TargetDom,i.TargetValue)},AcceptSelf:!0},"v-else-if":{Execute:(t,i)=>{n.AddV_ElseIf(i.TargetDom,i.TargetValue)},AcceptSelf:!0},"v-else":{Execute:(t,i)=>{n.AddV_Else(i.TargetDom)},AcceptNull:!0},"v-bind":{Execute:(t,i)=>{n.AddV_Bind(i.TargetDom,t.CommandKey,i.TargetValue,t.Args)}},"v-on":{Execute:(t,i)=>{n.AddV_On(i.TargetDom,t.CommandKey,i.TargetValue,t.Args)}},"v-slot":{Execute:(t,i)=>{n.AddV_Slot(i.TargetDom,t.CommandKey,i.TargetValue)}},"v-on-mounted":{Execute:(t,i)=>{n.AddV_OnMounted(i.TargetDom,i.TargetValue,t.Args)}},"v-on-unmounted":{Execute:(t,i)=>{n.AddV_OnUnMounted(i.TargetDom,i.TargetValue,t.Args)}},"v-on-ready":{Execute:(t,i)=>{n.AddV_OnReady(i.TargetDom,i.TargetValue,t.Args)}},watch:{Execute:t=>{let i=[t.DomPaths];if(t.CommandKey&&i.push(t.CommandKey.split(":")),i=n.Paths(i),typeof t.StoreValue=="function")n.AddV_Watch(i,t.StoreValue);else{let r=t.StoreValue;n.AddV_Watch(i,r?.CallBack,r?.Option)}}},func:{Execute:t=>{if(typeof t.StoreValue!="function"){n.$Error(`func command value must be a function, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Function(n.Paths(...t.DomPaths,t.CommandKey??"func"),t.StoreValue)}},using:{Execute:n=>{if(typeof n.StoreValue=="function"){const t=n.Nodes,i=t!=null?t[0]:null;n.StoreValue(n.DomPaths,i,t)}}},store:{Execute:t=>{n.UpdateStore(t.DomPaths,t.StoreValue)}}}}AddV_Property(n,t){return this.AddV_PropertyFrom(this.Store,n,t)}AddV_PropertyFrom(n,t,i){if(t!=null){let r=n;t=this.ToJoin(t);let u=t;if(t.includes(".")){let i=t.split(".");u=i.pop();let f=i.join(".");r=this.GetStoreFrom(n,f,{CreateIfNull:!0})}let f=this.$BaseAddProperty(r,u,i);if(i.Bind){Array.isArray(i.Bind)||(i.Bind=[i.Bind]);for(let n of i.Bind)n!=null&&this.AddV_Property(n,{Target:t});f.Bind=i.Bind}return this}}$BaseAddProperty(n,t,i){let f=this,u={get(){return i.get?i.get():this.$get(t)},set(n){if(i.set){i.set(n);return}this.$set(t,n)}};i.get&&(u.get=i.get);i.set!=null&&(u.set=i.set);let e=n[t],r=Object.defineProperty(n,t,u);return r.$properties??={},r.$properties[t]={...i},r.$get??=n=>{let t=r.$properties[n];return t?.Target==null?t[`$${n}`]:f.GetStore(t.Target)},r.$set??=(n,t)=>{let i=r.$properties[n];i?.Target?f.SetStore(i.Target,t):i[`$${n}`]=t},i.Value!=null?r[t]=i.Value:e!=null&&(r[t]=e),r}$ConvertCommandOption(n,t,i){let r;if(t==null||t==".")if(this.IsPathType(n))r={Target:n};else{let t=n,i=t.map(n=>n.DomName);r={Target:i}}else r=typeof t=="string"||typeof t=="function"||Array.isArray(t)?{Target:t}:t;return i&&(r.FuncArgs=i),r.FuncAction??=!1,r.FuncArgs&&(r.FuncAction=!0),r}$AddCommand(n,t,i){if(n!=null){Array.isArray(n)||(n=[n]);let f=n[0]instanceof QueryNode,u;u=f?n:Queryer.Query(n);let r=i.Target;if(typeof r=="function"){let u=[];if(u=f?n.at(-1).DomName:n,r=this.$GenerateEventFunction(u,r,t),i.FuncArgs){let n=this.ToJoin(i.FuncArgs,",");r+=`(${n})`}else i.FuncAction&&(r+=`()`)}else r=this.ToJoin(r);i.TargetHead&&(r=i.TargetHead+r);i.TargetTail&&(r+=i.TargetTail);i.CommandKey&&(t+=`:${i.CommandKey}`);for(let n=0;n<u.length;n++){let i=u[n],f=i.Dom;this.$SetAttribute(f,t,r)}}}$SetAttribute(n,t,i){if(n==null){let n=`Dom Element is null. ${i}`;console.warn(n);return}n.setAttribute(t,i)}$RandomFuncName(n){return`${n}${this.GenerateIdReplace("")}`.replace(/[-:.]/g,"_")}$GenerateEventFunction(n,t,i){let u=this.$RandomFuncName(`${i}_`);n=this.Paths(n);let r=["event",...n,u];return this.AddV_Function(r,t),this.ToJoin(r)}}export class VueModel extends VueCommand{$NativeWarn;$IsEnableVueWarn;$MountId=null;Id;constructor(){super();this.Id=this.GenerateId();this.$MountId="app";this.WithVueWarn(!1);this.WithLifeCycleDirective()}WithMountId(n){return this.$MountId=n,this}WithVueWarn(n){return this.$IsEnableVueWarn=n,this.$NativeWarn=console.warn,console.warn=(...n)=>{n!=null&&n.length!=0&&(n[0].toLowerCase().includes("[vue warn]")&&this.$IsEnableVueWarn==!1||this.$NativeWarn(n))},this}WithLifeCycleDirective(){this.WithDirective("on-mounted",{mounted(n,t,i){typeof t.value=="function"&&t.value(n,i)}});this.WithDirective("on-unmounted",{unmounted(n,t,i){typeof t.value=="function"&&t.value(n,i)}});this.WithDirective("on-ready",{mounted(n,t,i){typeof t.value=="function"&&u(()=>t.value(n,i))}})}Init(){if(this.$IsInited)return this;this.Store=t(this.Store);let n=this.Store,i=this.$MountedFuncs;this.$VueApp=r({...this.$VueOption,data(){return n},mounted:()=>{for(let n of i)n()}});for(let n of this.$VueUse)this.$VueApp.use(n);for(let n of this.$Directive)this.$VueApp.directive(n.Name,n.Directive);return this.$VueProxy=this.$VueApp.mount(`#${this.$MountId}`),this.$IsInited=!0,this}Using(n=()=>{}){return n(),this}UsingVueApp(n){return n?.call(this,this.$VueApp),this.$VueApp.directive,this}AddV_OnMounted(n,t,i){let r=this.$ConvertCommandOption(n,t);return i&&(r.FuncArgs=i,r.TargetHead="($el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-mounted`,r),this}AddV_OnUnMounted(n,t,i){let r=this.$ConvertCommandOption(n,t);return i&&(r.FuncArgs=i,r.TargetHead="($el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-unmounted`,r),this}AddV_OnReady(n,t,i){let r=this.$ConvertCommandOption(n,t);return i&&(r.FuncArgs=i,r.TargetHead="($el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-ready`,r),this}}const n=new VueModel;window.Model=n;export{n as Model};
2
+ //# sourceMappingURL=VueModel.esm.min.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version":3,
3
+ "file":"VueModel.esm.min.js",
4
+ "mappings":"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",
5
+ "sources":["VueModel.esm.js"],
6
+ "names":["FuncBase","$NavigateToFunc","$DefaultDateJoinChar","constructor","WithDateTextJoinChar","WithNavigateTo","NavigateToFunc","JoinChar","GenerateId","replace","char","RandomValue","crypto","getRandomValues","Uint8Array","Id","toString","GenerateIdReplace","FillString","replaceAll","GenerateUrl","Url","UrlParam","UrlPaths","Paths","length","$Throw","map","Item","CombineUrl","ToJoin","ConvertTo_UrlQuery","$BaseNavigateTo","window","location","href","NavigateToRoot","NavigateTo","TargetUrl","$BaseNavigateBlank","Link","document","createElement","target","rel","click","NavigateBlank","ForEachObject","Param","Func","Key","Object","getOwnPropertyNames","match","Value","call","DeepObjectExtend","Target","Source","MaxDepth","AllKeys","keys","i","NewObject","ToDateInfo","QueryDate","Date","$CreateDateInfo","ToDateText","Option","DateJoinChar","Format","Result","Year","padStart","Month","Day","ToDateTimeText","Hour","Minute","Second","DateOrText","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","AllParam","push","join","ClearUrl","ApiUrl","Separator","ConvertArray","Array","isArray","IsPathType","CheckPathType","IsTrue","Message","Error","$Error","Data","console","error","QueryNode","NodeId","Dom","DomName","Parent","Children","ElementDeep","NodeDeep","super","Query","$RCS_QueryChildrens","QueryCss","Selector","$RCS_QueryCssChildrens","querySelector","SelectorAll","querySelectorAll","TargetNode","Results","NodeItem","Names","FirstName","shift","FindChildren","Mode","ChildrenResult","matches","DomQueryer","$Root","$RootNode","$Nodes","$QueryDomName","IsInited","WithRoot","Filter","WithDomName","QueryDomName","Init","IsReInited","body","$RCS_Visit","sort","A","B","Queryer","Using","UsingFunc","QueryNodes","DomNode","NextNode","$AddNode","children","HTMLTemplateElement","content","HTMLElement","getAttribute","NewNode","FileItem","OnChangeBase64","OnChangeBuffer","$Store","File","ConvertType","reactive","$ConvertFile","FileId","Base64","Buffer","InnerStore","IsLoaded","IsLoading","Clear","From","CheckLoadAsync","Promise","resolve","reject","timeout","setTimeout","timer","clearInterval","setInterval","clearTimeout","e","GetConvertType","TypeItem","$ConvertBase64","$ConvertBuffer","IsForce","Reader","FileReader","readAsDataURL","onload","result","readAsArrayBuffer","ApiStore","#ApiDomain","#RootRoute","#AccessToken","#RefreshToken","#HeaderFuncs","#OnEventFunc","#OnEventName","#OnSuccess","#OnError","#OnComplete","#ExportSuccessStore","#Store","#Func_ConvertTo_FormData","SetStore","ApiDomain","OnEventName","#EventName","Store","GetStore","FileStore","WithAccessToken","AccessToken","WithRefreshToken","RefreshToken","WithApiDomain","WithRootRoute","Route","WithHeader","WithOnSuccess","SuccessFunc","WithOnError","ErrorFunc","WithOnComplete","CompleteFunc","WithExportSuccessStore","ExportSuccessStoreFunc","WithConvertTo_FormParam","ConvertToFunc","ClearConvertTo_FormParam","ConvertTo_ApiUrl","ApiDomainUrl","includes","AddApi","ApiKey","ApiOption","SetApi","AddStoreFrom","UpdateStoreFrom","$EventTrigger","ApiCall","$BaseApiCall","ApiCall_Form","IsFormRequest","Api","ParamQuery","ParamBody","Body","ParamFile","IsUpdateStore","FetchRequest","$GenerateFetchRequest","PubApi","OnCalling","fetch","then","ApiResponse","ok","ConvertResult","$ProcessApiReturn","Export","StoreKey","UpdateStore","OnSuccess","catch","ex","message","OnError","OnComplete","Header","Headers","set","Method","SendForm","$ConvertTo_FormData","FormData","$ConvertTo_FormFile","method","JSON","stringify","AddSubApi","SubApiStore","GetApiStore","$sub","PropertyName","Sub","SubStore","NotifyEvent","UseFormJsonBody","JsonBodyKey","FormDataBody","ConvertParam","EventAdd_AddApi","EventFunc","$EventAdd","EventAdd_UpdateStore","EventAdd_AddStore","AddStore","EventAdd_SetStore","EventName","OnFunc","EventArg","EventFuncs","StorePath","GetStoreFrom","StoreData","SetStoreFrom","ClearStore","ClearStoreFrom","SourceStore","Clone","CreateIfNull","DefaultValue","FindStore","$RCS_GetStore","CloneResult","$RCS_SetStore","TargetStore","$RCS_ClearStore","StorePaths","split","FirstKey","NextStore","NextKey","$DeepSetObject","IsAwaysSet","IsDeepSet","AllProperty","DeepClear","SetData","forEach","item","IsGoNext","AddFileStore","FileStoreKey","Multi","Files","WhereFunc","GetFiles","filter","AddFile","RemoveFile","DeleteFileId","DeleteIndex","findIndex","splice","ClearFile","GetContentType","headers","get","json","text","reslove","RootUrl","ConvertFormData","Form","append","FileParam","$AppendFileToFormData","Keys","FileKey","FileValue","FileData","createApp","nextTick","watch","VueStore","$VueProxy","$VueOption","$VueApp","$VueUse","$CoreStore","$MountedFuncs","$Directive","#Setup","Arg","ForceUpdate","WithMounted","WithVueOption","VueOption","MountedFunc","WithComponent","Component","components","WithVueUse","UsePlugin","WithDirective","Name","Directive","$forceUpdate","Refs","RefName","$refs","Model","VueCommand","$IsInited","$CommandMap","$SetupCommandMap","WithQueryDomName","AddV_Text","SetOption","$ConvertCommandOption","FullPaths","test","FuncAction","$AddCommand","AddV_Model","CommandKey","ModelValue","AddV_Slot","SlotKey","AddV_For","ForKey","TargetHead","AddV_If","AddV_ElseIf","AddV_Else","AddV_Show","AddV_Bind","BindKey","Args","AddV_On","Watch","WatchPath","Callback","Handle","AddV_Watch","AddV_Function","FuncName","methods","AddV_OnChange","ChangeFunc","AddV_Click","AddV_FilePicker","FileStorePath","Accept","Multiple","TempInput","type","accept","multiple","onchange","files","FileItems","PickFile","fileData","isChecked","AddV_Tree","TreeRoot","TreeSet","AllSetInfo","RootNode","UsingRootNode","RootPaths","$ParseTreeSet","Info","ActionSet","Command","DomPaths","StoreValue","AcceptNull","AcceptSelf","NeedQuery","QueryOption","UseDeepQuery","Nodes","TargetDom","TargetValue","TreePaths","TargetFunc","TargetArgs","Execute","TreeNodeReges","SetPair","pop","TreeNodeResult","NextDomName","groups","next","GetCommandPart","FindCommand","StartChar","EndChar","StartIndex","indexOf","EndIndex","lastIndexOf","slice","trim","GetCommandWithKey","ArgsStart","ForKeyStart","CommandWithKey","MinIndex","Math","min","CommandKeyStart","AddV_OnMounted","AddV_OnUnMounted","AddV_OnReady","WatchPaths","CallBack","nodes","node","AddV_Property","PropertyPath","AddV_PropertyFrom","PropertyKey","PropertyPaths","FindPath","SetProperty","$BaseAddProperty","Bind","BindPath","PropertyStore","ThisModel","PropertyContent","$get","$set","OriginalValue","defineProperty","$properties","PropertyOption","NodeNames","FuncArgs","IsFromQueryNode","FuncDomName","at","$GenerateEventFunction","TargetTail","$SetAttribute","AttrName","AttrValue","warn","setAttribute","$RandomFuncName","BaseFuncName","FullFuncPath","VueModel","$NativeWarn","$IsEnableVueWarn","$MountId","WithVueWarn","WithLifeCycleDirective","WithMountId","MountId","Enable","toLowerCase","mounted","el","binding","vnode","value","unmounted","data","use","directive","mount","UseFunc","UsingVueApp"]
7
+ }
@@ -410,6 +410,9 @@
410
410
  ConvertType: ConvertType,
411
411
  Base64: null,
412
412
  Buffer: null,
413
+ IsLoaded: false,
414
+ IsLoading: true,
415
+ Error: null,
413
416
  });
414
417
  this.$ConvertFile();
415
418
  }
@@ -449,6 +452,15 @@
449
452
  get InnerStore() {
450
453
  return this.$Store;
451
454
  }
455
+ get IsLoaded() {
456
+ return this.$Store.IsLoaded;
457
+ }
458
+ get IsLoading() {
459
+ return this.$Store.IsLoading;
460
+ }
461
+ get Error() {
462
+ return this.$Store.Error;
463
+ }
452
464
  Clear() {
453
465
  this.$Store.Base64 = null;
454
466
  this.$Store.Buffer = null;
@@ -457,6 +469,33 @@
457
469
  From(Item) {
458
470
  this.$Store = Item.InnerStore;
459
471
  }
472
+ CheckLoadAsync() {
473
+ return new Promise((resolve, reject) => {
474
+ try {
475
+ if (this.$Store.IsLoaded || !this.$Store.IsLoading)
476
+ return resolve(this.$Store.IsLoaded);
477
+ const timeout = setTimeout(() => {
478
+ if (timer)
479
+ clearInterval(timer);
480
+ this.$Store.Error = 'timeout';
481
+ console.error("WaitLoadAsync: timeout");
482
+ reject(false);
483
+ }, 60000);
484
+ const timer = setInterval(() => {
485
+ if (this.$Store.IsLoaded || !this.$Store.IsLoading) {
486
+ clearInterval(timer);
487
+ clearTimeout(timeout);
488
+ resolve(this.$Store.IsLoaded);
489
+ }
490
+ }, 100);
491
+ }
492
+ catch (e) {
493
+ this.$Store.Error = e;
494
+ console.error(e);
495
+ reject(false);
496
+ }
497
+ });
498
+ }
460
499
  $ConvertFile() {
461
500
  if (this.ConvertType == null)
462
501
  return;
@@ -469,12 +508,15 @@
469
508
  let TypeItem = GetConvertType[i];
470
509
  switch (TypeItem) {
471
510
  case 'base64':
511
+ this.$Store.IsLoading = true;
472
512
  this.$ConvertBase64();
473
513
  break;
474
514
  case 'buffer':
515
+ this.$Store.IsLoading = true;
475
516
  this.$ConvertBuffer();
476
517
  break;
477
518
  default:
519
+ this.$Store.IsLoaded = true;
478
520
  break;
479
521
  }
480
522
  }
@@ -486,13 +528,21 @@
486
528
  return this;
487
529
  let Reader = new FileReader();
488
530
  Reader.readAsDataURL(this.File);
489
- Reader.onload = () => this.Base64 = Reader.result;
531
+ Reader.onload = () => {
532
+ this.Base64 = Reader.result;
533
+ this.$Store.IsLoaded = true;
534
+ this.$Store.IsLoading = false;
535
+ };
490
536
  return this;
491
537
  }
492
538
  $ConvertBuffer() {
493
539
  let Reader = new FileReader();
494
540
  Reader.readAsArrayBuffer(this.File);
495
- Reader.onload = () => this.Buffer = Reader.result;
541
+ Reader.onload = () => {
542
+ this.Buffer = Reader.result;
543
+ this.$Store.IsLoaded = true;
544
+ this.$Store.IsLoading = false;
545
+ };
496
546
  }
497
547
  }
498
548
  exports.FileItem = FileItem;
@@ -1318,12 +1368,15 @@
1318
1368
  let Accept = null;
1319
1369
  let ConvertType = 'none';
1320
1370
  let Multi = false;
1371
+ let OnSuccess;
1372
+ let OnError;
1321
1373
  if (typeof (Option) == 'string')
1322
1374
  FileStorePath = Option;
1323
1375
  else {
1324
1376
  FileStorePath = Option.Store;
1325
1377
  ConvertType = Option.ConvertType;
1326
1378
  Multi = Option.Multiple;
1379
+ OnSuccess = Option.OnSuccess;
1327
1380
  if (Array.isArray(Option.Accept))
1328
1381
  Accept = Option.Accept.join(' ');
1329
1382
  else
@@ -1339,13 +1392,34 @@
1339
1392
  TempInput.accept = Accept;
1340
1393
  if (Multi != null)
1341
1394
  TempInput.multiple = Multi;
1342
- TempInput.onchange = (Event) => {
1395
+ TempInput.onchange = async (Event) => {
1343
1396
  if (TempInput.files == null || TempInput.files.length == 0)
1344
1397
  return;
1345
- let Files = TempInput.files;
1398
+ const Files = TempInput.files;
1399
+ const FileItems = [];
1346
1400
  for (let i = 0; i < Files.length; i++) {
1347
1401
  let PickFile = Files[i];
1348
1402
  this.AddFile(FileStorePath, PickFile, ConvertType);
1403
+ let fileData = Model.FileStore[FileStorePath];
1404
+ if (!Array.isArray(fileData)) {
1405
+ fileData = [fileData];
1406
+ }
1407
+ FileItems.push(...fileData);
1408
+ }
1409
+ if (OnSuccess) {
1410
+ let isChecked = true;
1411
+ for (const item of FileItems) {
1412
+ if (item instanceof FileItem) {
1413
+ if (!await item.CheckLoadAsync()) {
1414
+ if (OnError)
1415
+ OnError(item);
1416
+ isChecked = false;
1417
+ break;
1418
+ }
1419
+ }
1420
+ }
1421
+ if (isChecked)
1422
+ OnSuccess(FileItems);
1349
1423
  }
1350
1424
  };
1351
1425
  TempInput.click();
@@ -1370,7 +1444,7 @@
1370
1444
  continue;
1371
1445
  if (Info.StoreValue == '.' && ActionSet.AcceptSelf != true)
1372
1446
  continue;
1373
- let NeedQuery = false;
1447
+ let NeedQuery = Info.Command == 'using';
1374
1448
  let QueryOption = {
1375
1449
  Mode: 'Multi',
1376
1450
  };
@@ -1611,7 +1685,9 @@
1611
1685
  'using': {
1612
1686
  Execute: (Info, Option) => {
1613
1687
  if (typeof (Info.StoreValue) === 'function') {
1614
- Info.StoreValue(Info.DomPaths, Info.Nodes[0], Info.Nodes);
1688
+ const nodes = Info.Nodes;
1689
+ const node = nodes != null ? nodes[0] : null;
1690
+ Info.StoreValue(Info.DomPaths, node, nodes);
1615
1691
  }
1616
1692
  },
1617
1693
  },