@rugal.tu/vuemodel3 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -570,12 +570,10 @@ export class ApiStore extends FuncBase {
570
570
  #HeaderFuncs = [];
571
571
  #OnEventFunc = {};
572
572
  #OnEventName = {
573
- ApiStore: {
574
- AddApi: 'AddApi',
575
- UpdateStore: 'UpdateStore',
576
- AddStore: 'AddStore',
577
- SetStore: 'SetStore',
578
- }
573
+ AddApi: 'AddApi',
574
+ UpdateStore: 'UpdateStore',
575
+ AddStore: 'AddStore',
576
+ SetStore: 'SetStore',
579
577
  };
580
578
  #OnSuccess;
581
579
  #OnError;
@@ -599,12 +597,6 @@ export class ApiStore extends FuncBase {
599
597
  set ApiDomain(ApiDomain) {
600
598
  this.#ApiDomain = this.ClearUrl(ApiDomain);
601
599
  }
602
- get OnEventName() {
603
- return this.#OnEventName;
604
- }
605
- get #EventName() {
606
- return this.OnEventName.ApiStore;
607
- }
608
600
  get Store() {
609
601
  return this.#Store;
610
602
  }
@@ -682,9 +674,9 @@ export class ApiStore extends FuncBase {
682
674
  ApiKey: apiKey,
683
675
  ...option,
684
676
  };
685
- this.AddStoreFrom(this.ApiStore, apiKey, option.DefaultStore ?? {});
677
+ this.AddStore(apiKey, option.DefaultStore ?? {});
686
678
  this.UpdateStoreFrom(this.ApiStore, apiKey, setApi);
687
- this.$EventTrigger(this.#EventName.AddApi, setApi);
679
+ this.$EventTrigger(this.#OnEventName.AddApi, setApi);
688
680
  }
689
681
  return this;
690
682
  }
@@ -833,19 +825,19 @@ export class ApiStore extends FuncBase {
833
825
  //#endregion
834
826
  //#region Public Event Add
835
827
  EventAdd_AddApi(EventFunc) {
836
- this.$EventAdd(this.#EventName.AddApi, EventFunc);
828
+ this.$EventAdd(this.#OnEventName.AddApi, EventFunc);
837
829
  return this;
838
830
  }
839
831
  EventAdd_UpdateStore(EventFunc) {
840
- this.$EventAdd(this.#EventName.UpdateStore, EventFunc);
832
+ this.$EventAdd(this.#OnEventName.UpdateStore, EventFunc);
841
833
  return this;
842
834
  }
843
835
  EventAdd_AddStore(EventFunc) {
844
- this.$EventAdd(this.#EventName.AddStore, EventFunc);
836
+ this.$EventAdd(this.#OnEventName.AddStore, EventFunc);
845
837
  return this;
846
838
  }
847
839
  EventAdd_SetStore(EventFunc) {
848
- this.$EventAdd(this.#EventName.SetStore, EventFunc);
840
+ this.$EventAdd(this.#OnEventName.SetStore, EventFunc);
849
841
  return this;
850
842
  }
851
843
  //#endregion
@@ -939,7 +931,7 @@ export class ApiStore extends FuncBase {
939
931
  this.$RCS_SetStore(StorePath, StoreData, SourceStore, {
940
932
  IsDeepSet: true,
941
933
  });
942
- this.$EventTrigger(this.#EventName.AddStore, {
934
+ this.$EventTrigger(this.#OnEventName.AddStore, {
943
935
  Path: StorePath,
944
936
  Data: StoreData,
945
937
  });
@@ -951,7 +943,7 @@ export class ApiStore extends FuncBase {
951
943
  this.$RCS_SetStore(StorePath, StoreData, SourceStore, {
952
944
  IsDeepSet: false,
953
945
  });
954
- this.$EventTrigger(this.#EventName.SetStore, {
946
+ this.$EventTrigger(this.#OnEventName.SetStore, {
955
947
  Path: StorePath,
956
948
  Data: StoreData,
957
949
  });
@@ -963,7 +955,7 @@ export class ApiStore extends FuncBase {
963
955
  this.$RCS_SetStore(StorePath, StoreData, SourceStore, {
964
956
  IsDeepSet: true,
965
957
  });
966
- this.$EventTrigger(this.#EventName.UpdateStore, {
958
+ this.$EventTrigger(this.#OnEventName.UpdateStore, {
967
959
  Path: StorePath,
968
960
  Data: StoreData,
969
961
  });
@@ -1245,6 +1237,8 @@ export class VueStore extends ApiStore {
1245
1237
  $VueApp = null;
1246
1238
  $VueUse = [];
1247
1239
  $CoreStore = 'app';
1240
+ $FuncsStore = 'funcs';
1241
+ $EventStore = 'event';
1248
1242
  $MountedFuncs = [];
1249
1243
  $SetupFuncs = [];
1250
1244
  $Directive = [];
@@ -1254,13 +1248,11 @@ export class VueStore extends ApiStore {
1254
1248
  }
1255
1249
  //#region Private Setup
1256
1250
  #Setup() {
1257
- this
1258
- .EventAdd_AddApi(Arg => {
1259
- this.AddStore(Arg.ApiKey);
1260
- })
1261
- .AddStore(this.$CoreStore, {})
1251
+ this.AddStore(this.$CoreStore, {})
1262
1252
  .WithMounted(() => {
1263
- this.UpdateStore([this.$CoreStore, 'IsMounted'], true);
1253
+ this.UpdateStore(this.$CoreStore, {
1254
+ IsMounted: true
1255
+ });
1264
1256
  });
1265
1257
  }
1266
1258
  //#endregion
@@ -1439,13 +1431,23 @@ export class VueCommand extends VueStore {
1439
1431
  });
1440
1432
  return this;
1441
1433
  }
1442
- AddV_Function(FuncName, Func) {
1443
- if (this.$IsInited && !Array.isArray(FuncName))
1444
- this.$VueOption.methods[FuncName] = Func;
1445
- else
1446
- Model.UpdateStore(FuncName, Func);
1434
+ AddFunc(funcPath, func) {
1435
+ funcPath = [this.$FuncsStore, funcPath];
1436
+ Model.UpdateStore(funcPath, func);
1447
1437
  return this;
1448
1438
  }
1439
+ Func(funcPath, ...args) {
1440
+ funcPath = Model.ToJoin([this.$FuncsStore, funcPath]);
1441
+ const getFunc = Model.GetStore(funcPath);
1442
+ if (typeof getFunc === null) {
1443
+ console.error(`[Func]: path [${funcPath}] is null`);
1444
+ return null;
1445
+ }
1446
+ if (typeof getFunc === 'function')
1447
+ return getFunc(...args);
1448
+ console.error(`[Func]: path [${funcPath}] is not function`);
1449
+ return null;
1450
+ }
1449
1451
  AddV_OnChange(DomName, ChangeFunc, Args) {
1450
1452
  this.AddV_On(DomName, 'change', ChangeFunc, Args);
1451
1453
  return this;
@@ -1732,8 +1734,8 @@ export class VueCommand extends VueStore {
1732
1734
  },
1733
1735
  },
1734
1736
  'v-on': {
1735
- Execute: (Info, Option) => {
1736
- Model.AddV_On(Option.TargetDom, Info.CommandKey, Option.TargetValue, Info.Args);
1737
+ Execute: (info, option) => {
1738
+ Model.AddV_On(option.TargetDom, info.CommandKey, option.TargetValue, info.Args);
1737
1739
  },
1738
1740
  },
1739
1741
  'v-slot': {
@@ -1771,12 +1773,15 @@ export class VueCommand extends VueStore {
1771
1773
  },
1772
1774
  },
1773
1775
  'func': {
1774
- Execute: (Info, Option) => {
1775
- if (typeof (Info.StoreValue) != 'function') {
1776
- Model.$Error(`func command value must be a function, path: ${this.ToJoin(Info.DomPaths)}`);
1776
+ Execute: (info, option) => {
1777
+ if (typeof (info.StoreValue) != 'function') {
1778
+ Model.$Error(`func command value must be a function, path: ${this.ToJoin(info.DomPaths)}`);
1777
1779
  return;
1778
1780
  }
1779
- Model.AddV_Function(Model.Paths(...Info.DomPaths, Info.CommandKey ?? 'func'), Info.StoreValue);
1781
+ let funcPath = info.CommandKey != null && info.CommandKey.startsWith('/') ?
1782
+ [info.CommandKey.replace('/', '')] :
1783
+ [...info.DomPaths, info.CommandKey ?? 'func'];
1784
+ Model.AddFunc(funcPath, info.StoreValue);
1780
1785
  },
1781
1786
  },
1782
1787
  'using': {
@@ -1967,10 +1972,11 @@ export class VueCommand extends VueStore {
1967
1972
  $GenerateEventFunction(domName, eventFunc, command) {
1968
1973
  const funcName = this.$RandomFuncName(`${command}_`);
1969
1974
  domName = this.Paths(domName);
1970
- const fullFuncPath = ['event', ...domName, funcName]
1975
+ const funcPaths = [this.$EventStore, ...domName, funcName]
1971
1976
  .filter(item => item != null && item != '');
1972
- this.AddV_Function(fullFuncPath, eventFunc);
1973
- return this.ToJoin(fullFuncPath);
1977
+ const fullFuncPath = this.ToJoin(funcPaths);
1978
+ Model.UpdateStore(fullFuncPath, eventFunc);
1979
+ return fullFuncPath;
1974
1980
  }
1975
1981
  }
1976
1982
  export class VueModel extends VueCommand {
@@ -1,2 +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 t??={Mode:"Multi"},this.$RCS_QueryChildrens(this,n,t)}QueryCss(n,t){return t??={Mode:"Multi"},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)){if(t.length==0)continue;let n=[...t],f=n.shift();const e=f.match(/^(?<key>[^:]+):(?<name>.+)$/);if(e){const n=e.groups.key,t=e.groups.name;switch(n){case"tag":break;default:f=t}}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 i=n[t],r={ApiKey:t,...i};this.AddStoreFrom(this.ApiStore,t,i.DefaultStore??{});this.UpdateStoreFrom(this.ApiStore,t,r);this.$EventTrigger(this.#EventName.AddApi,r)}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){if(n==null)return null;typeof i=="boolean"&&(i={Clone:i});i??={};i.Clone??=!1;i.CreateIfNull??=!1;i.DefaultValue==null&&(i.DefaultValue={});let r=n;if(t!=null&&(t=this.ToJoin(t),r=this.$RCS_GetStore(t,n,{CreateIfNull:i.CreateIfNull,DefaultValue:i.DefaultValue})),i.Clone){if(r==null)return null;if(typeof r!="object")return r;if(Array.isArray(r)){const n=[];for(let t=0;t<r.length;t++){const u=r[t],f=this.GetStoreFrom(u,null,{Clone:i.Clone,CreateIfNull:i.CreateIfNull,DefaultValue:i.DefaultValue});n.push(f)}return n}else{const n={},t=Object.getOwnPropertyNames(r);for(let u of t)if(!u.match(/^\$/g)){let t=r[u];t!=null&&typeof t=="object"&&(t=this.GetStoreFrom(t,null,i));n[u]=t}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});i.DeepClear??=!0;const 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}const i=Object.getOwnPropertyNames(n);for(let r of i)if(!r.match(/^\$/g)){const i=n[r];i!=null&&typeof i!="function"&&(t.DeepClear&&typeof i=="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}t!==n&&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,ref as f}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=[];$SetupFuncs=[];$Directive=[];constructor(){super();this.#Setup()}#Setup(){this.EventAdd_AddApi(n=>{this.AddStore(n.ApiKey)}).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}WithSetup(n){return this.$SetupFuncs.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}Ref(n){return f(n)}RefsView(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){const 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){typeof t=="boolean"&&(t=`${t}`);const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){typeof t=="boolean"&&(t=`${t}`);const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-else-if",i),this}AddV_Else(n){const t=this.$ConvertCommandOption(n);return t.Target="",this.$AddCommand(n,"v-else",t),this}AddV_Show(n,t){const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){typeof i=="boolean"&&(i=`${i}`);const u=this.$ConvertCommandOption(n,i,r);return u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){const 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){const e=[],u=t instanceof QueryNode;let f;u&&(f=t);const o=u?[]:this.Paths(t);this.$ParseTreeSet(o,i,e);for(let t of e){const 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)){const s={Mode:"Multi"};let o=t.Command=="using";if(u&&(o=!0,s.TargetNode=f),r?.UseDeepQuery&&(o=!0,s.Mode="DeepMulti"),o){let n=[f];if(t.DomPaths.length>0&&(n=Queryer.Query(t.DomPaths,s)),n.length==0)continue;t.Nodes=n}const h=o?t.Nodes:t.DomPaths;let 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(typeof t.StoreValue=="object"){if(i={Target:t.StoreValue?.TargetFunc,FuncArgs:t.StoreValue?.Args},t.StoreValue?.Args!=null){const i=t.StoreValue.Args;t.Args=t.Args==null?n.ToJoin(i,", "):n.ToJoin([t.Args,i],", ")}}else i=`${t.StoreValue}`;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=>{let i=[t.DomPaths];t.CommandKey!=null&&t.CommandKey!=""&&(t.CommandKey.startsWith("/")?i=[t.CommandKey.replace("/","")]:i.push(t.CommandKey));n.UpdateStore(i,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]),n.length!=0)){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){const u=this.$RandomFuncName(`${i}_`);n=this.Paths(n);const r=["event",...n,u].filter(n=>n!=null&&n!="");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);const i=this.Store,u=this.$MountedFuncs,f=this.$SetupFuncs;this.$VueApp=r({...this.$VueOption,setup(){for(const t of f){const r=t();r!=null&&n.UpdateStoreFrom(i,null,r)}return i},mounted:()=>{for(const n of u)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};
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 t??={Mode:"Multi"},this.$RCS_QueryChildrens(this,n,t)}QueryCss(n,t){return t??={Mode:"Multi"},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)){if(t.length==0)continue;let n=[...t],f=n.shift();const e=f.match(/^(?<key>[^:]+):(?<name>.+)$/);if(e){const n=e.groups.key,t=e.groups.name;switch(n){case"tag":break;default:f=t}}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={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 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 i=n[t],r={ApiKey:t,...i};this.AddStore(t,i.DefaultStore??{});this.UpdateStoreFrom(this.ApiStore,t,r);this.$EventTrigger(this.#OnEventName.AddApi,r)}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.#OnEventName.AddApi,n),this}EventAdd_UpdateStore(n){return this.$EventAdd(this.#OnEventName.UpdateStore,n),this}EventAdd_AddStore(n){return this.$EventAdd(this.#OnEventName.AddStore,n),this}EventAdd_SetStore(n){return this.$EventAdd(this.#OnEventName.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){if(n==null)return null;typeof i=="boolean"&&(i={Clone:i});i??={};i.Clone??=!1;i.CreateIfNull??=!1;i.DefaultValue==null&&(i.DefaultValue={});let r=n;if(t!=null&&(t=this.ToJoin(t),r=this.$RCS_GetStore(t,n,{CreateIfNull:i.CreateIfNull,DefaultValue:i.DefaultValue})),i.Clone){if(r==null)return null;if(typeof r!="object")return r;if(Array.isArray(r)){const n=[];for(let t=0;t<r.length;t++){const u=r[t],f=this.GetStoreFrom(u,null,{Clone:i.Clone,CreateIfNull:i.CreateIfNull,DefaultValue:i.DefaultValue});n.push(f)}return n}else{const n={},t=Object.getOwnPropertyNames(r);for(let u of t)if(!u.match(/^\$/g)){let t=r[u];t!=null&&typeof t=="object"&&(t=this.GetStoreFrom(t,null,i));n[u]=t}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.#OnEventName.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.#OnEventName.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.#OnEventName.UpdateStore,{Path:t,Data:i}),this}ClearStoreFrom(n,t,i){i??={};typeof i=="boolean"&&(i={DeepClear:i});i.DeepClear??=!0;const 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}const i=Object.getOwnPropertyNames(n);for(let r of i)if(!r.match(/^\$/g)){const i=n[r];i!=null&&typeof i!="function"&&(t.DeepClear&&typeof i=="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}t!==n&&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,ref as f}from"vue";import{watch as i}from"vue";export class VueStore extends ApiStore{$VueProxy=null;$VueOption={methods:{},components:{},computed:{}};$VueApp=null;$VueUse=[];$CoreStore="app";$FuncsStore="funcs";$EventStore="event";$MountedFuncs=[];$SetupFuncs=[];$Directive=[];constructor(){super();this.#Setup()}#Setup(){this.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}WithSetup(n){return this.$SetupFuncs.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}Ref(n){return f(n)}RefsView(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){const 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){typeof t=="boolean"&&(t=`${t}`);const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){typeof t=="boolean"&&(t=`${t}`);const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-else-if",i),this}AddV_Else(n){const t=this.$ConvertCommandOption(n);return t.Target="",this.$AddCommand(n,"v-else",t),this}AddV_Show(n,t){const i=this.$ConvertCommandOption(n,t);return i.FuncAction=!0,this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){typeof i=="boolean"&&(i=`${i}`);const u=this.$ConvertCommandOption(n,i,r);return u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){const 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}AddFunc(t,i){return t=[this.$FuncsStore,t],n.UpdateStore(t,i),this}Func(t,...i){t=n.ToJoin([this.$FuncsStore,t]);const r=n.GetStore(t);return typeof r=="function"?r(...i):(console.error(`[Func]: path [${t}] is not function`),null)}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){const e=[],u=t instanceof QueryNode;let f;u&&(f=t);const o=u?[]:this.Paths(t);this.$ParseTreeSet(o,i,e);for(let t of e){const 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)){const s={Mode:"Multi"};let o=t.Command=="using";if(u&&(o=!0,s.TargetNode=f),r?.UseDeepQuery&&(o=!0,s.Mode="DeepMulti"),o){let n=[f];if(t.DomPaths.length>0&&(n=Queryer.Query(t.DomPaths,s)),n.length==0)continue;t.Nodes=n}const h=o?t.Nodes:t.DomPaths;let 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(typeof t.StoreValue=="object"){if(i={Target:t.StoreValue?.TargetFunc,FuncArgs:t.StoreValue?.Args},t.StoreValue?.Args!=null){const i=t.StoreValue.Args;t.Args=t.Args==null?n.ToJoin(i,", "):n.ToJoin([t.Args,i],", ")}}else i=`${t.StoreValue}`;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}let i=t.CommandKey!=null&&t.CommandKey.startsWith("/")?[t.CommandKey.replace("/","")]:[...t.DomPaths,t.CommandKey??"func"];n.AddFunc(i,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=>{let i=[t.DomPaths];t.CommandKey!=null&&t.CommandKey!=""&&(t.CommandKey.startsWith("/")?i=[t.CommandKey.replace("/","")]:i.push(t.CommandKey));n.UpdateStore(i,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]),n.length!=0)){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(t,i,r){const f=this.$RandomFuncName(`${r}_`);t=this.Paths(t);const e=[this.$EventStore,...t,f].filter(n=>n!=null&&n!=""),u=this.ToJoin(e);return n.UpdateStore(u,i),u}}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);const i=this.Store,u=this.$MountedFuncs,f=this.$SetupFuncs;this.$VueApp=r({...this.$VueOption,setup(){for(const t of f){const r=t();r!=null&&n.UpdateStoreFrom(i,null,r)}return i},mounted:()=>{for(const n of u)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
2
  //# sourceMappingURL=VueModel.esm.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version":3,
3
3
  "file":"VueModel.esm.min.js",
4
- "mappings":"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",
4
+ "mappings":"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",
5
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","pathRegex","key","groups","name","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","apis","apiKey","option","setApi","AddStoreFrom","DefaultStore","UpdateStoreFrom","$EventTrigger","ApiCall","ApiKey","$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","storePath","Clone","CreateIfNull","DefaultValue","findStore","$RCS_GetStore","cloneItems","item","cloneItem","cloneResult","allKeys","targetStore","SourceStore","$RCS_SetStore","DeepClear","$RCS_ClearStore","FindStore","StorePaths","split","FirstKey","NextStore","NextKey","$DeepSetObject","IsAwaysSet","IsDeepSet","allProperty","value","setData","forEach","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","ref","watch","VueStore","$VueProxy","$VueOption","$VueApp","$VueUse","$CoreStore","$MountedFuncs","$SetupFuncs","$Directive","#Setup","Arg","WithMounted","WithVueOption","VueOption","mountedFunc","WithSetup","setupFunc","WithComponent","Component","components","WithVueUse","UsePlugin","WithDirective","Name","Directive","Ref","RefsView","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","domName","forKey","setOption","TargetHead","AddV_If","AddV_ElseIf","AddV_Else","AddV_Show","AddV_Bind","bindKey","args","AddV_On","eventName","Watch","WatchPath","Callback","Handle","AddV_Watch","AddV_Function","FuncName","methods","AddV_OnChange","ChangeFunc","Args","AddV_Click","AddV_FilePicker","FileStorePath","Accept","Multiple","TempInput","type","accept","multiple","onchange","files","FileItems","PickFile","fileData","isChecked","AddV_Tree","treeRoot","treeSet","allSetInfo","usingRootNode","rootNode","rootPaths","$ParseTreeSet","info","actionSet","Command","DomPaths","StoreValue","AcceptNull","AcceptSelf","queryOption","needQuery","UseDeepQuery","queryNodes","Nodes","targetDom","targetValue","TreePaths","TargetFunc","targetArgs","Execute","TreeSet","TreeNodeReges","SetPair","pop","TreeNodeResult","NextDomName","next","GetCommandPart","FindCommand","StartChar","EndChar","StartIndex","indexOf","EndIndex","lastIndexOf","slice","trim","GetCommandWithKey","ArgsStart","ForKeyStart","CommandWithKey","MinIndex","Math","min","CommandKeyStart","ForKey","Info","TargetDom","TargetValue","AddV_OnMounted","AddV_OnUnMounted","AddV_OnReady","WatchPaths","CallBack","nodes","node","targetPath","startsWith","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","eventFunc","command","funcName","fullFuncPath","VueModel","$NativeWarn","$IsEnableVueWarn","$MountId","WithVueWarn","WithLifeCycleDirective","WithMountId","MountId","Enable","toLowerCase","mounted","el","binding","vnode","unmounted","getStore","mountedFuncs","setupFuncs","setup","func","funcStore","use","directive","mount","UseFunc","UsingVueApp"]
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","pathRegex","key","groups","name","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","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","apis","apiKey","option","setApi","AddStore","DefaultStore","UpdateStoreFrom","$EventTrigger","ApiCall","ApiKey","$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","AddStoreFrom","GetApiStore","$sub","PropertyName","Sub","SubStore","NotifyEvent","UseFormJsonBody","JsonBodyKey","FormDataBody","ConvertParam","EventAdd_AddApi","EventFunc","$EventAdd","EventAdd_UpdateStore","EventAdd_AddStore","EventAdd_SetStore","EventName","OnFunc","EventArg","EventFuncs","StorePath","GetStoreFrom","StoreData","SetStoreFrom","ClearStore","ClearStoreFrom","sourceStore","storePath","Clone","CreateIfNull","DefaultValue","findStore","$RCS_GetStore","cloneItems","item","cloneItem","cloneResult","allKeys","targetStore","SourceStore","$RCS_SetStore","DeepClear","$RCS_ClearStore","FindStore","StorePaths","split","FirstKey","NextStore","NextKey","$DeepSetObject","IsAwaysSet","IsDeepSet","allProperty","value","setData","forEach","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","ref","watch","VueStore","$VueProxy","$VueOption","$VueApp","$VueUse","$CoreStore","$FuncsStore","$EventStore","$MountedFuncs","$SetupFuncs","$Directive","#Setup","WithMounted","WithVueOption","VueOption","mountedFunc","WithSetup","setupFunc","WithComponent","Component","components","WithVueUse","UsePlugin","WithDirective","Name","Directive","Ref","RefsView","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","domName","forKey","setOption","TargetHead","AddV_If","AddV_ElseIf","AddV_Else","AddV_Show","AddV_Bind","bindKey","args","AddV_On","eventName","Watch","WatchPath","Callback","Handle","AddV_Watch","AddFunc","funcPath","func","getFunc","AddV_OnChange","ChangeFunc","Args","AddV_Click","AddV_FilePicker","FileStorePath","Accept","Multiple","TempInput","type","accept","multiple","onchange","files","FileItems","PickFile","fileData","isChecked","AddV_Tree","treeRoot","treeSet","allSetInfo","usingRootNode","rootNode","rootPaths","$ParseTreeSet","info","actionSet","Command","DomPaths","StoreValue","AcceptNull","AcceptSelf","queryOption","needQuery","UseDeepQuery","queryNodes","Nodes","targetDom","targetValue","TreePaths","TargetFunc","targetArgs","Execute","TreeSet","TreeNodeReges","SetPair","pop","TreeNodeResult","NextDomName","next","GetCommandPart","FindCommand","StartChar","EndChar","StartIndex","indexOf","EndIndex","lastIndexOf","slice","trim","GetCommandWithKey","ArgsStart","ForKeyStart","CommandWithKey","MinIndex","Math","min","CommandKeyStart","ForKey","Info","TargetDom","TargetValue","AddV_OnMounted","AddV_OnUnMounted","AddV_OnReady","WatchPaths","CallBack","startsWith","nodes","node","targetPath","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","eventFunc","command","funcName","funcPaths","fullFuncPath","VueModel","$NativeWarn","$IsEnableVueWarn","$MountId","WithVueWarn","WithLifeCycleDirective","WithMountId","MountId","Enable","toLowerCase","mounted","el","binding","vnode","unmounted","getStore","mountedFuncs","setupFuncs","setup","funcStore","use","directive","mount","UseFunc","UsingVueApp"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rugal.tu/vuemodel3",
3
- "version": "1.6.7",
3
+ "version": "1.6.9",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/VueModel.ts CHANGED
@@ -752,12 +752,10 @@ export class ApiStore extends FuncBase {
752
752
  #HeaderFuncs: ((Header: Headers) => void)[] = [];
753
753
  #OnEventFunc: Record<string, Function[]> = {};
754
754
  #OnEventName = {
755
- ApiStore: {
756
- AddApi: 'AddApi',
757
- UpdateStore: 'UpdateStore',
758
- AddStore: 'AddStore',
759
- SetStore: 'SetStore',
760
- }
755
+ AddApi: 'AddApi',
756
+ UpdateStore: 'UpdateStore',
757
+ AddStore: 'AddStore',
758
+ SetStore: 'SetStore',
761
759
  };
762
760
  #OnSuccess: (Result: any, Reponse: Response) => void;
763
761
  #OnError: (Except: any) => void;
@@ -782,12 +780,6 @@ export class ApiStore extends FuncBase {
782
780
  set ApiDomain(ApiDomain) {
783
781
  this.#ApiDomain = this.ClearUrl(ApiDomain);
784
782
  }
785
- get OnEventName() {
786
- return this.#OnEventName;
787
- }
788
- get #EventName() {
789
- return this.OnEventName.ApiStore;
790
- }
791
783
  get Store() {
792
784
  return this.#Store;
793
785
  }
@@ -871,9 +863,9 @@ export class ApiStore extends FuncBase {
871
863
  ApiKey: apiKey,
872
864
  ...option,
873
865
  };
874
- this.AddStoreFrom(this.ApiStore, apiKey, option.DefaultStore ?? {});
866
+ this.AddStore(apiKey, option.DefaultStore ?? {});
875
867
  this.UpdateStoreFrom(this.ApiStore, apiKey, setApi);
876
- this.$EventTrigger(this.#EventName.AddApi, setApi);
868
+ this.$EventTrigger(this.#OnEventName.AddApi, setApi);
877
869
  }
878
870
  return this;
879
871
  }
@@ -1038,19 +1030,19 @@ export class ApiStore extends FuncBase {
1038
1030
 
1039
1031
  //#region Public Event Add
1040
1032
  public EventAdd_AddApi(EventFunc: (EventArg: EventArg_AddApi) => void) {
1041
- this.$EventAdd(this.#EventName.AddApi, EventFunc);
1033
+ this.$EventAdd(this.#OnEventName.AddApi, EventFunc);
1042
1034
  return this;
1043
1035
  }
1044
1036
  public EventAdd_UpdateStore(EventFunc: (EventArg: EventArg_UpdateStore) => void) {
1045
- this.$EventAdd(this.#EventName.UpdateStore, EventFunc);
1037
+ this.$EventAdd(this.#OnEventName.UpdateStore, EventFunc);
1046
1038
  return this;
1047
1039
  }
1048
1040
  public EventAdd_AddStore(EventFunc: (EventArg: EventArg_AddStore) => void) {
1049
- this.$EventAdd(this.#EventName.AddStore, EventFunc);
1041
+ this.$EventAdd(this.#OnEventName.AddStore, EventFunc);
1050
1042
  return this;
1051
1043
  }
1052
1044
  public EventAdd_SetStore(EventFunc: (EventArg: EventArg_SetStore) => void) {
1053
- this.$EventAdd(this.#EventName.SetStore, EventFunc);
1045
+ this.$EventAdd(this.#OnEventName.SetStore, EventFunc);
1054
1046
  return this;
1055
1047
  }
1056
1048
  //#endregion
@@ -1158,7 +1150,7 @@ export class ApiStore extends FuncBase {
1158
1150
  this.$RCS_SetStore(StorePath, StoreData, SourceStore, {
1159
1151
  IsDeepSet: true,
1160
1152
  });
1161
- this.$EventTrigger<EventArg_AddStore>(this.#EventName.AddStore, {
1153
+ this.$EventTrigger<EventArg_AddStore>(this.#OnEventName.AddStore, {
1162
1154
  Path: StorePath,
1163
1155
  Data: StoreData,
1164
1156
  });
@@ -1171,7 +1163,7 @@ export class ApiStore extends FuncBase {
1171
1163
  this.$RCS_SetStore(StorePath as string, StoreData, SourceStore, {
1172
1164
  IsDeepSet: false,
1173
1165
  });
1174
- this.$EventTrigger<EventArg_SetStore>(this.#EventName.SetStore, {
1166
+ this.$EventTrigger<EventArg_SetStore>(this.#OnEventName.SetStore, {
1175
1167
  Path: StorePath as string,
1176
1168
  Data: StoreData,
1177
1169
  });
@@ -1184,7 +1176,7 @@ export class ApiStore extends FuncBase {
1184
1176
  this.$RCS_SetStore(StorePath as string, StoreData, SourceStore, {
1185
1177
  IsDeepSet: true,
1186
1178
  });
1187
- this.$EventTrigger<EventArg_UpdateStore>(this.#EventName.UpdateStore, {
1179
+ this.$EventTrigger<EventArg_UpdateStore>(this.#OnEventName.UpdateStore, {
1188
1180
  Path: StorePath as string,
1189
1181
  Data: StoreData,
1190
1182
  });
@@ -1510,6 +1502,8 @@ export class VueStore extends ApiStore {
1510
1502
  protected $VueApp: App = null;
1511
1503
  protected $VueUse: Plugin[] = [];
1512
1504
  protected $CoreStore: string = 'app';
1505
+ protected $FuncsStore: string = 'funcs';
1506
+ protected $EventStore: string = 'event';
1513
1507
  protected $MountedFuncs: Function[] = [];
1514
1508
  protected $SetupFuncs: (() => any)[] = [];
1515
1509
  protected $Directive: { Name: string, Directive: Directive }[] = [];
@@ -1520,13 +1514,11 @@ export class VueStore extends ApiStore {
1520
1514
 
1521
1515
  //#region Private Setup
1522
1516
  #Setup() {
1523
- this
1524
- .EventAdd_AddApi(Arg => {
1525
- this.AddStore(Arg.ApiKey);
1526
- })
1527
- .AddStore(this.$CoreStore, {})
1517
+ this.AddStore(this.$CoreStore, {})
1528
1518
  .WithMounted(() => {
1529
- this.UpdateStore([this.$CoreStore, 'IsMounted'], true);
1519
+ this.UpdateStore(this.$CoreStore, {
1520
+ IsMounted: true
1521
+ });
1530
1522
  });
1531
1523
  }
1532
1524
  //#endregion
@@ -1833,13 +1825,25 @@ export class VueCommand extends VueStore {
1833
1825
  });
1834
1826
  return this;
1835
1827
  }
1836
- public AddV_Function(FuncName: PathType, Func: Function) {
1837
- if (this.$IsInited && !Array.isArray(FuncName))
1838
- this.$VueOption.methods[FuncName] = Func;
1839
- else
1840
- Model.UpdateStore(FuncName, Func);
1828
+ public AddFunc(funcPath: PathType, func: Function) {
1829
+ funcPath = [this.$FuncsStore, funcPath];
1830
+ Model.UpdateStore(funcPath, func);
1841
1831
  return this;
1842
1832
  }
1833
+ public Func<T = any>(funcPath: PathType, ...args: any[]) {
1834
+ funcPath = Model.ToJoin([this.$FuncsStore, funcPath]);
1835
+ const getFunc = Model.GetStore(funcPath);
1836
+ if (typeof getFunc === null) {
1837
+ console.error(`[Func]: path [${funcPath}] is null`);
1838
+ return null;
1839
+ }
1840
+
1841
+ if (typeof getFunc === 'function')
1842
+ return getFunc(...args) as T;
1843
+
1844
+ console.error(`[Func]: path [${funcPath}] is not function`);
1845
+ return null;
1846
+ }
1843
1847
 
1844
1848
  public AddV_OnChange(DomName: PathType | QueryNode[], ChangeFunc: AddCommandOption, Args?: string) {
1845
1849
  this.AddV_On(DomName, 'change', ChangeFunc, Args);
@@ -2153,8 +2157,8 @@ export class VueCommand extends VueStore {
2153
2157
  },
2154
2158
  },
2155
2159
  'v-on': {
2156
- Execute: (Info, Option) => {
2157
- Model.AddV_On(Option.TargetDom, Info.CommandKey, Option.TargetValue, Info.Args);
2160
+ Execute: (info, option) => {
2161
+ Model.AddV_On(option.TargetDom, info.CommandKey, option.TargetValue, info.Args);
2158
2162
  },
2159
2163
  },
2160
2164
  'v-slot': {
@@ -2192,12 +2196,16 @@ export class VueCommand extends VueStore {
2192
2196
  },
2193
2197
  },
2194
2198
  'func': {
2195
- Execute: (Info, Option) => {
2196
- if (typeof (Info.StoreValue) != 'function') {
2197
- Model.$Error(`func command value must be a function, path: ${this.ToJoin(Info.DomPaths)}`);
2199
+ Execute: (info, option) => {
2200
+ if (typeof (info.StoreValue) != 'function') {
2201
+ Model.$Error(`func command value must be a function, path: ${this.ToJoin(info.DomPaths)}`);
2198
2202
  return;
2199
2203
  }
2200
- Model.AddV_Function(Model.Paths(...Info.DomPaths, Info.CommandKey ?? 'func'), Info.StoreValue);
2204
+ let funcPath = info.CommandKey != null && info.CommandKey.startsWith('/') ?
2205
+ [info.CommandKey.replace('/', '')] :
2206
+ [...info.DomPaths, info.CommandKey ?? 'func'];
2207
+
2208
+ Model.AddFunc(funcPath, info.StoreValue);
2201
2209
  },
2202
2210
  },
2203
2211
  'using': {
@@ -2410,11 +2418,11 @@ export class VueCommand extends VueStore {
2410
2418
  protected $GenerateEventFunction(domName: PathType, eventFunc: Function, command: string) {
2411
2419
  const funcName = this.$RandomFuncName(`${command}_`);
2412
2420
  domName = this.Paths(domName);
2413
- const fullFuncPath = ['event', ...domName, funcName]
2421
+ const funcPaths = [this.$EventStore, ...domName, funcName]
2414
2422
  .filter(item => item != null && item != '');
2415
-
2416
- this.AddV_Function(fullFuncPath, eventFunc);
2417
- return this.ToJoin(fullFuncPath);
2423
+ const fullFuncPath = this.ToJoin(funcPaths);
2424
+ Model.UpdateStore(fullFuncPath, eventFunc);
2425
+ return fullFuncPath;
2418
2426
  }
2419
2427
  //#endregion
2420
2428