@rugal.tu/vuemodel3 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/VueModel.esm.js +6 -0
- package/dist/VueModel.esm.min.js +1 -1
- package/dist/VueModel.esm.min.js.map +2 -2
- package/dist/VueModel.umd.js +6 -0
- package/dist/VueModel.umd.min.js +1 -1
- package/dist/VueModel.umd.min.js.map +2 -2
- package/package.json +1 -1
- package/src/VueModel.d.ts +5 -1
- package/src/VueModel.ts +13 -1
- package/src/esm/VueModel.js +6 -0
- package/src/esm/VueModel.js.map +1 -1
- package/src/umd/VueModel.js +6 -0
- package/src/umd/VueModel.js.map +1 -1
package/dist/VueModel.esm.js
CHANGED
|
@@ -1250,6 +1250,12 @@ export class VueCommand extends VueStore {
|
|
|
1250
1250
|
}
|
|
1251
1251
|
Model.AddV_Slot(Option.TargetDom, Info.CommandKey, Option.TargetPath);
|
|
1252
1252
|
},
|
|
1253
|
+
'v-on-mounted': (Info, Option) => {
|
|
1254
|
+
Model.AddV_OnMounted(Option.TargetDom, Option.TargetValue, Info.CommandKey);
|
|
1255
|
+
},
|
|
1256
|
+
'v-on-unmounted': (Info, Option) => {
|
|
1257
|
+
Model.AddV_OnUnMounted(Option.TargetDom, Option.TargetValue, Info.CommandKey);
|
|
1258
|
+
},
|
|
1253
1259
|
'watch': (Info, Option) => {
|
|
1254
1260
|
if (typeof (Info.StoreValue) != 'function') {
|
|
1255
1261
|
Model.$Error(`watch command value must be a function, path: ${this.ToJoin(Info.DomPaths)}`);
|
package/dist/VueModel.esm.min.js
CHANGED
|
@@ -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 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)}}class i extends FuncBase{Dom;DomName=null;Parent=null;Children=[];ElementDeep=0;NodeDeep=0;constructor(n){super();this.Dom=n}Query(n,t){return this.$RCS_QueryChildrens(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}}class u{$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 i(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,r){return t.IsInited||t.Init(),r==null?r={Mode:"Multi"}:r instanceof i&&(r={Mode:"Multi",TargetNode:r}),r.TargetNode==null&&(r.TargetNode=this.$RootNode),r.TargetNode.Query(n,r)}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,r){if(this.$QueryDomName!=null&&!n.matches(`[${this.$QueryDomName}]`))return null;let f=n.getAttribute(this.$QueryDomName),u=new i(n);return u.DomName=f,u.ElementDeep=r,this.$Nodes.push(u),t!=null&&(u.Parent=t,u.NodeDeep=t.NodeDeep+1,t.Children.push(u)),u}}var t=new u;export class FileItem{$Store;constructor(n,t="none"){n==null?this.$Store=r({}):(this.$Store=r({FileId:(new FuncBase).GenerateId(),File:n,ConvertType:t,Base64:null,Buffer: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}get Buffer(){return this.$Store.Buffer}set Buffer(n){this.$Store.Buffer=n}get InnerStore(){return this.$Store}Clear(){this.$Store.Base64=null;this.$Store.Buffer=null;this.$Store.File=null}From(n){this.$Store=n.InnerStore}$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.$ConvertBase64();break;case"buffer":this.$ConvertBuffer()}}}}$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}$ConvertBuffer(){let n=new FileReader;n.readAsArrayBuffer(this.File);n.onload=()=>this.Buffer=n.result}}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=[];$ApiStore={};constructor(){super();this.SetStore("api",this.$ApiStore)}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 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.$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);r.IsCalling=!0;r.OnCalling?.call(this,o);t?.OnCalling?.call(this,o);fetch(h,o).then(async n=>{if(!n.ok)throw n;let i=await this.$ProcessApiReturn(n);if(s){r.Export!=!1&&(typeof r.Export=="function"?i=r.Export?.call(this,i,n):this.#ExportSuccessStore!=null&&(i=this.#ExportSuccessStore?.call(this,i,n)));let t=r.ApiKey;this.UpdateStore(t,i)}return r.IsSuccess=!0,r.IsError=!1,r.OnSuccess?.call(this,i,n),t?.OnSuccess?.call(this,i,n),this.#OnSuccess?.call(this,i,n),{ConvertResult:i,ApiResponse:n}}).catch(n=>{r.IsError=!0,r.IsSuccess=!1,this.$Error(n.message),r.OnError?.call(this,n),t?.OnError?.call(this,n),this.#OnError?.call(this,n)}).then(n=>{r.IsCalling=!1,r.IsComplete=!0,n instanceof Object?(r.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),t?.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),this.#OnComplete?.call(this,n.ConvertResult,n.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}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)}UpdateStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.UpdateStore,{Path:n,Data:t}),this}AddStore(n,t=null){return(n=this.ToJoin(n),this.GetStore(n)!=null)?this:(this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.AddStore,{Path:n,Data:t}),this)}SetStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!1}),this.$EventTrigger(this.#EventName.SetStore,{Path:n,Data:t}),this}GetStore(n,t){typeof t=="boolean"&&(t={Clone:t});t??={};t.Clone??=!1;t.CreateIfNull??=!1;t.DefaultValue==null&&(t.DefaultValue={});n=this.ToJoin(n);let i=this.$RCS_GetStore(n,this.Store,{CreateIfNull:t.CreateIfNull,DefaultValue:t.DefaultValue});if(t.Clone){let n={},t=Object.getOwnPropertyNames(i);for(let r of t)r.match(/^\$/g)||(n[r]=i[r]);return n}return i}ClearStore(n){let t=this.GetStore(n);if(t==null)return this;let i=Object.getOwnPropertyNames(t);for(let n of i)if(!n.match(/^\$/g)){let i=t[n];if(typeof i!="function"){if(Array.isArray(i)){i.splice(0,i.length);continue}t[n]=null}}return this}$RCS_GetStore(n,t,i){if(t==null)return null;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.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=!r.IsDeepSet||i[n]==null||t==null||typeof t!="object";return u?(i[n]=t,t):(this.$DeepSetObject(n,t,i),t)}$DeepSetObject(n,t,i){if(t==null){i[n]=t;return}if(!Array.isArray(t)){this.ForEachObject(t,(t,r)=>{if(Array.isArray(r)||typeof r=="object"){this.$DeepSetObject(t,r,i[n]);return}i[n]==null&&(i[n]={});i[n][t]=r});return}Array.isArray(i[n])||(i[n]=[]);i[n]=t.slice()}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{watch as f}from"vue";import{createApp as e,reactive as r}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;$QueryDomName=null;WithQueryDomName(n){return this.$QueryDomName=n,t.WithDomName(this.$QueryDomName),this}AddV_Text(t,i){let r=this.$ConvertCommandOption(t,i);return typeof r.Target!="function"&&n.AddStore(r.Target),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(i);return 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 f.includes("in")||(u.TargetHead??="(item, index) in "),this.$AddCommand(t,"v-for",u),this}AddV_If(n,t){let i=this.$ConvertCommandOption(n,t);return this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){let i=this.$ConvertCommandOption(n,t);return 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 this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.FuncAction=!1,u.CommandKey=t,this.$AddCommand(n,`v-on`,u),this}AddV_Watch(t,i,r=false,u={}){let e={handler:i,deep:r,...u};return n.WithMounted(()=>{n.AddStore(t),f(()=>n.GetStore(t),i,e)}),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);return i&&(r.FuncArgs=i),this.AddV_On(n,"click",r),this}AddV_FilePicker(n,t){let i=null,u=null,f="none",r=!1;return typeof t=="string"?i=t:(i=t.Store,f=t.ConvertType,r=t.Multiple,u=Array.isArray(t.Accept)?t.Accept.join(" "):t.Accept),this.AddFileStore(i,{Multi:r}),this.AddV_Click(n,()=>{let n=document.createElement("input");n.type="file";u!=null&&(n.accept=u);r!=null&&(n.multiple=r);n.onchange=()=>{if(n.files!=null&&n.files.length!=0){let t=n.files;for(let n=0;n<t.length;n++){let r=t[n];this.AddFile(i,r,f)}}};n.click()}),this}AddV_Tree(i,r,u){let f=[],e=this.Paths(i);this.$ParseTreeSet(e,r,f);let o={"v-text":(t,i)=>{n.AddV_Text(i.TargetDom,i.TargetValue)},"v-model":(t,i)=>{if(typeof t.StoreValue=="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.TargetPath,{ModelValue:t.CommandKey})},"v-for":(t,i)=>{n.AddV_For(i.TargetDom,i.TargetValue,t.CommandKey)},"v-if":(t,i)=>{n.AddV_If(i.TargetDom,i.TargetValue)},"v-else-if":(t,i)=>{n.AddV_ElseIf(i.TargetDom,i.TargetValue)},"v-else":(t,i)=>{n.AddV_Else(i.TargetDom)},"v-show":(t,i)=>{n.AddV_Show(i.TargetDom,i.TargetValue)},"v-bind":(t,i)=>{n.AddV_Bind(i.TargetDom,t.CommandKey,i.TargetValue,t.Params)},"v-on":(t,i)=>{n.AddV_On(i.TargetDom,t.CommandKey,i.TargetValue,t.Params)},"v-slot":(t,i)=>{if(Array.isArray(t.StoreValue)||typeof t.StoreValue=="function"){n.$Error(`v-slot command value must be a string, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Slot(i.TargetDom,t.CommandKey,i.TargetPath)},watch:t=>{if(typeof t.StoreValue!="function"){n.$Error(`watch command value must be a function, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Watch(t.DomPaths,t.StoreValue)},func:t=>{if(typeof t.StoreValue!="function"){n.$Error(`func command value must be a function, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Function(["event",...t.DomPaths,t.CommandKey],t.StoreValue)},using:n=>{typeof n.StoreValue=="function"&&n.StoreValue(n.DomPaths)}};for(let i of f){let f=o[i.Command];if(f==null){n.$Error(`${i.Command} command is not allowed, path: ${this.ToJoin(i.DomPaths)}`);continue}if(u?.UseDeepQuery){let n=t.Query(i.DomPaths,{Mode:"DeepMulti"});i.Nodes=n}let s=u?.UseDeepQuery?i.Nodes:i.DomPaths,r=[],e;typeof i.StoreValue!="function"&&(u?.UseTreePath&&(r=[...i.TreePaths]),u?.UseDomStore||i.StoreValue=="."?r.push(i.DomName):i.StoreValue!=null&&i.StoreValue!=""&&(r=this.Paths(r,i.StoreValue)));e=r.length>0?r:i.StoreValue;f(i,{TargetDom:s,TargetPath:r,TargetValue:e})}return this}$ParseTreeSet(t,i,r){let u=Object.keys(i),f=/^(.+?)\(([^)]*)\)$/;for(let e=0;e<u.length;e++){let o=u[e],h=i[o],c=[...t],a=[...t],y=a.pop();if(!o.includes(":")){let n=o.match(f),t=null;n&&n.length>=3&&(o=n[1],t=n[2]);r.push({Command:o,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,CommandKey:t});continue}let s=o.split(":");if(o.length<2){n.$Error(`command ${o} invalid`);continue}o=s.shift();let v=null;if(s.length>0){let t=s.pop(),n=t.match(f);n&&n.length>=3?(s.push(n[1]),v=n[2]):s.push(t)}let l=n.ToJoin(s,":");if(o==""){typeof h!="function"?this.$ParseTreeSet([...t,l],h,r):r.push({Command:"using",CommandKey:null,StoreValue:h,TreePaths:[...c],DomPaths:[...c,l],DomName:l,Params:v});continue}r.push({Command:o,CommandKey:l,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,Params:v})}}AddV_Property(n,t){if(n!=null){let i=this.Store;n=this.ToJoin(n);let r=n;if(n.includes(".")){let t=n.split(".");r=t.pop();let u=t.join(".");i=this.GetStore(u,{CreateIfNull:!0})}let u=this.$BaseAddProperty(i,r,t);if(t.Bind){Array.isArray(t.Bind)||(t.Bind=[t.Bind]);for(let i of t.Bind)i!=null&&this.AddV_Property(i,{Target:n});u.Bind=t.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 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},r[t]==null&&i.Value!=null&&(r[t]=i.Value),r}$ConvertCommandOption(n,t){if(t==null)if(this.IsPathType(n))return{Target:n,FuncAction:!1};else{let t=n,i=t.map(n=>n.DomName);return{Target:i,FuncAction:!1}}return typeof t=="string"||typeof t=="function"||Array.isArray(t)?{Target:t,FuncAction:!0}:(t.FuncAction??=!0,t)}$AddCommand(n,r,u){if(n!=null){Array.isArray(n)||(n=[n]);let o=n[0]instanceof i,e;e=o?n:t.Query(n);let f=u.Target;if(typeof f=="function"){let t=n;if(f=this.$GenerateEventFunction(t,f,r),u.FuncArgs){let n=this.ToJoin(u.FuncArgs,",");/^\(/.test(n)||(n=`(${n}`);/\)$/.test(n)||(n+=")");f+=n}else u.FuncAction&&(f+=`()`)}else f=this.ToJoin(f);u.TargetHead&&(f=u.TargetHead+f);u.TargetTail&&(f+=u.TargetTail);u.CommandKey&&(r+=`:${u.CommandKey}`);for(let n=0;n<e.length;n++){let t=e[n],i=t.Dom;this.$SetAttribute(i,r,f)}}}$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(i.props,i.el,i)}});this.WithDirective("on-unmounted",{unmounted(n,t,i){typeof t.value=="function"&&t.value(i.props,i.el,i)}})}Init(){if(this.$IsInited)return this;this.Store=r(this.Store);let n=this.Store,t=this.$MountedFuncs;this.$VueApp=e({...this.$VueOption,data(){return n},mounted:()=>{for(let n of t)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="($props, $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="($props, $el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-unmounted`,r),this}}const n=new VueModel;window.Model=n;export{u as DomQueryer,t as Queryer,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 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)}}class i extends FuncBase{Dom;DomName=null;Parent=null;Children=[];ElementDeep=0;NodeDeep=0;constructor(n){super();this.Dom=n}Query(n,t){return this.$RCS_QueryChildrens(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}}class u{$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 i(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,r){return t.IsInited||t.Init(),r==null?r={Mode:"Multi"}:r instanceof i&&(r={Mode:"Multi",TargetNode:r}),r.TargetNode==null&&(r.TargetNode=this.$RootNode),r.TargetNode.Query(n,r)}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,r){if(this.$QueryDomName!=null&&!n.matches(`[${this.$QueryDomName}]`))return null;let f=n.getAttribute(this.$QueryDomName),u=new i(n);return u.DomName=f,u.ElementDeep=r,this.$Nodes.push(u),t!=null&&(u.Parent=t,u.NodeDeep=t.NodeDeep+1,t.Children.push(u)),u}}var t=new u;export class FileItem{$Store;constructor(n,t="none"){n==null?this.$Store=r({}):(this.$Store=r({FileId:(new FuncBase).GenerateId(),File:n,ConvertType:t,Base64:null,Buffer: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}get Buffer(){return this.$Store.Buffer}set Buffer(n){this.$Store.Buffer=n}get InnerStore(){return this.$Store}Clear(){this.$Store.Base64=null;this.$Store.Buffer=null;this.$Store.File=null}From(n){this.$Store=n.InnerStore}$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.$ConvertBase64();break;case"buffer":this.$ConvertBuffer()}}}}$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}$ConvertBuffer(){let n=new FileReader;n.readAsArrayBuffer(this.File);n.onload=()=>this.Buffer=n.result}}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=[];$ApiStore={};constructor(){super();this.SetStore("api",this.$ApiStore)}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 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.$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);r.IsCalling=!0;r.OnCalling?.call(this,o);t?.OnCalling?.call(this,o);fetch(h,o).then(async n=>{if(!n.ok)throw n;let i=await this.$ProcessApiReturn(n);if(s){r.Export!=!1&&(typeof r.Export=="function"?i=r.Export?.call(this,i,n):this.#ExportSuccessStore!=null&&(i=this.#ExportSuccessStore?.call(this,i,n)));let t=r.ApiKey;this.UpdateStore(t,i)}return r.IsSuccess=!0,r.IsError=!1,r.OnSuccess?.call(this,i,n),t?.OnSuccess?.call(this,i,n),this.#OnSuccess?.call(this,i,n),{ConvertResult:i,ApiResponse:n}}).catch(n=>{r.IsError=!0,r.IsSuccess=!1,this.$Error(n.message),r.OnError?.call(this,n),t?.OnError?.call(this,n),this.#OnError?.call(this,n)}).then(n=>{r.IsCalling=!1,r.IsComplete=!0,n instanceof Object?(r.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),t?.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),this.#OnComplete?.call(this,n.ConvertResult,n.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}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)}UpdateStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.UpdateStore,{Path:n,Data:t}),this}AddStore(n,t=null){return(n=this.ToJoin(n),this.GetStore(n)!=null)?this:(this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.AddStore,{Path:n,Data:t}),this)}SetStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!1}),this.$EventTrigger(this.#EventName.SetStore,{Path:n,Data:t}),this}GetStore(n,t){typeof t=="boolean"&&(t={Clone:t});t??={};t.Clone??=!1;t.CreateIfNull??=!1;t.DefaultValue==null&&(t.DefaultValue={});n=this.ToJoin(n);let i=this.$RCS_GetStore(n,this.Store,{CreateIfNull:t.CreateIfNull,DefaultValue:t.DefaultValue});if(t.Clone){let n={},t=Object.getOwnPropertyNames(i);for(let r of t)r.match(/^\$/g)||(n[r]=i[r]);return n}return i}ClearStore(n){let t=this.GetStore(n);if(t==null)return this;let i=Object.getOwnPropertyNames(t);for(let n of i)if(!n.match(/^\$/g)){let i=t[n];if(typeof i!="function"){if(Array.isArray(i)){i.splice(0,i.length);continue}t[n]=null}}return this}$RCS_GetStore(n,t,i){if(t==null)return null;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.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=!r.IsDeepSet||i[n]==null||t==null||typeof t!="object";return u?(i[n]=t,t):(this.$DeepSetObject(n,t,i),t)}$DeepSetObject(n,t,i){if(t==null){i[n]=t;return}if(!Array.isArray(t)){this.ForEachObject(t,(t,r)=>{if(Array.isArray(r)||typeof r=="object"){this.$DeepSetObject(t,r,i[n]);return}i[n]==null&&(i[n]={});i[n][t]=r});return}Array.isArray(i[n])||(i[n]=[]);i[n]=t.slice()}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{watch as f}from"vue";import{createApp as e,reactive as r}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;$QueryDomName=null;WithQueryDomName(n){return this.$QueryDomName=n,t.WithDomName(this.$QueryDomName),this}AddV_Text(t,i){let r=this.$ConvertCommandOption(t,i);return typeof r.Target!="function"&&n.AddStore(r.Target),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(i);return 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 f.includes("in")||(u.TargetHead??="(item, index) in "),this.$AddCommand(t,"v-for",u),this}AddV_If(n,t){let i=this.$ConvertCommandOption(n,t);return this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){let i=this.$ConvertCommandOption(n,t);return 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 this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.FuncAction=!1,u.CommandKey=t,this.$AddCommand(n,`v-on`,u),this}AddV_Watch(t,i,r=false,u={}){let e={handler:i,deep:r,...u};return n.WithMounted(()=>{n.AddStore(t),f(()=>n.GetStore(t),i,e)}),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);return i&&(r.FuncArgs=i),this.AddV_On(n,"click",r),this}AddV_FilePicker(n,t){let i=null,u=null,f="none",r=!1;return typeof t=="string"?i=t:(i=t.Store,f=t.ConvertType,r=t.Multiple,u=Array.isArray(t.Accept)?t.Accept.join(" "):t.Accept),this.AddFileStore(i,{Multi:r}),this.AddV_Click(n,()=>{let n=document.createElement("input");n.type="file";u!=null&&(n.accept=u);r!=null&&(n.multiple=r);n.onchange=()=>{if(n.files!=null&&n.files.length!=0){let t=n.files;for(let n=0;n<t.length;n++){let r=t[n];this.AddFile(i,r,f)}}};n.click()}),this}AddV_Tree(i,r,u){let f=[],e=this.Paths(i);this.$ParseTreeSet(e,r,f);let o={"v-text":(t,i)=>{n.AddV_Text(i.TargetDom,i.TargetValue)},"v-model":(t,i)=>{if(typeof t.StoreValue=="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.TargetPath,{ModelValue:t.CommandKey})},"v-for":(t,i)=>{n.AddV_For(i.TargetDom,i.TargetValue,t.CommandKey)},"v-if":(t,i)=>{n.AddV_If(i.TargetDom,i.TargetValue)},"v-else-if":(t,i)=>{n.AddV_ElseIf(i.TargetDom,i.TargetValue)},"v-else":(t,i)=>{n.AddV_Else(i.TargetDom)},"v-show":(t,i)=>{n.AddV_Show(i.TargetDom,i.TargetValue)},"v-bind":(t,i)=>{n.AddV_Bind(i.TargetDom,t.CommandKey,i.TargetValue,t.Params)},"v-on":(t,i)=>{n.AddV_On(i.TargetDom,t.CommandKey,i.TargetValue,t.Params)},"v-slot":(t,i)=>{if(Array.isArray(t.StoreValue)||typeof t.StoreValue=="function"){n.$Error(`v-slot command value must be a string, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Slot(i.TargetDom,t.CommandKey,i.TargetPath)},"v-on-mounted":(t,i)=>{n.AddV_OnMounted(i.TargetDom,i.TargetValue,t.CommandKey)},"v-on-unmounted":(t,i)=>{n.AddV_OnUnMounted(i.TargetDom,i.TargetValue,t.CommandKey)},watch:t=>{if(typeof t.StoreValue!="function"){n.$Error(`watch command value must be a function, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Watch(t.DomPaths,t.StoreValue)},func:t=>{if(typeof t.StoreValue!="function"){n.$Error(`func command value must be a function, path: ${this.ToJoin(t.DomPaths)}`);return}n.AddV_Function(["event",...t.DomPaths,t.CommandKey],t.StoreValue)},using:n=>{typeof n.StoreValue=="function"&&n.StoreValue(n.DomPaths)}};for(let i of f){let f=o[i.Command];if(f==null){n.$Error(`${i.Command} command is not allowed, path: ${this.ToJoin(i.DomPaths)}`);continue}if(u?.UseDeepQuery){let n=t.Query(i.DomPaths,{Mode:"DeepMulti"});i.Nodes=n}let s=u?.UseDeepQuery?i.Nodes:i.DomPaths,r=[],e;typeof i.StoreValue!="function"&&(u?.UseTreePath&&(r=[...i.TreePaths]),u?.UseDomStore||i.StoreValue=="."?r.push(i.DomName):i.StoreValue!=null&&i.StoreValue!=""&&(r=this.Paths(r,i.StoreValue)));e=r.length>0?r:i.StoreValue;f(i,{TargetDom:s,TargetPath:r,TargetValue:e})}return this}$ParseTreeSet(t,i,r){let u=Object.keys(i),f=/^(.+?)\(([^)]*)\)$/;for(let e=0;e<u.length;e++){let o=u[e],h=i[o],c=[...t],a=[...t],y=a.pop();if(!o.includes(":")){let n=o.match(f),t=null;n&&n.length>=3&&(o=n[1],t=n[2]);r.push({Command:o,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,CommandKey:t});continue}let s=o.split(":");if(o.length<2){n.$Error(`command ${o} invalid`);continue}o=s.shift();let v=null;if(s.length>0){let t=s.pop(),n=t.match(f);n&&n.length>=3?(s.push(n[1]),v=n[2]):s.push(t)}let l=n.ToJoin(s,":");if(o==""){typeof h!="function"?this.$ParseTreeSet([...t,l],h,r):r.push({Command:"using",CommandKey:null,StoreValue:h,TreePaths:[...c],DomPaths:[...c,l],DomName:l,Params:v});continue}r.push({Command:o,CommandKey:l,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,Params:v})}}AddV_Property(n,t){if(n!=null){let i=this.Store;n=this.ToJoin(n);let r=n;if(n.includes(".")){let t=n.split(".");r=t.pop();let u=t.join(".");i=this.GetStore(u,{CreateIfNull:!0})}let u=this.$BaseAddProperty(i,r,t);if(t.Bind){Array.isArray(t.Bind)||(t.Bind=[t.Bind]);for(let i of t.Bind)i!=null&&this.AddV_Property(i,{Target:n});u.Bind=t.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 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},r[t]==null&&i.Value!=null&&(r[t]=i.Value),r}$ConvertCommandOption(n,t){if(t==null)if(this.IsPathType(n))return{Target:n,FuncAction:!1};else{let t=n,i=t.map(n=>n.DomName);return{Target:i,FuncAction:!1}}return typeof t=="string"||typeof t=="function"||Array.isArray(t)?{Target:t,FuncAction:!0}:(t.FuncAction??=!0,t)}$AddCommand(n,r,u){if(n!=null){Array.isArray(n)||(n=[n]);let o=n[0]instanceof i,e;e=o?n:t.Query(n);let f=u.Target;if(typeof f=="function"){let t=n;if(f=this.$GenerateEventFunction(t,f,r),u.FuncArgs){let n=this.ToJoin(u.FuncArgs,",");/^\(/.test(n)||(n=`(${n}`);/\)$/.test(n)||(n+=")");f+=n}else u.FuncAction&&(f+=`()`)}else f=this.ToJoin(f);u.TargetHead&&(f=u.TargetHead+f);u.TargetTail&&(f+=u.TargetTail);u.CommandKey&&(r+=`:${u.CommandKey}`);for(let n=0;n<e.length;n++){let t=e[n],i=t.Dom;this.$SetAttribute(i,r,f)}}}$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(i.props,i.el,i)}});this.WithDirective("on-unmounted",{unmounted(n,t,i){typeof t.value=="function"&&t.value(i.props,i.el,i)}})}Init(){if(this.$IsInited)return this;this.Store=r(this.Store);let n=this.Store,t=this.$MountedFuncs;this.$VueApp=e({...this.$VueOption,data(){return n},mounted:()=>{for(let n of t)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="($props, $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="($props, $el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-unmounted`,r),this}}const n=new VueModel;window.Model=n;export{u as DomQueryer,t as Queryer,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","Dom","DomName","Parent","Children","ElementDeep","NodeDeep","super","Query","$RCS_QueryChildrens","Selector","querySelector","SelectorAll","querySelectorAll","TargetNode","Results","Names","FirstName","shift","FindChildren","Mode","ChildrenResult","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","matches","getAttribute","NewNode","FileItem","$Store","File","ConvertType","reactive","$ConvertFile","FileId","Base64","Buffer","InnerStore","Clear","From","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","$ApiStore","SetStore","ApiDomain","OnEventName","#EventName","Store","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","$EventTrigger","ApiCall","$BaseApiCall","ApiCall_Form","IsFormRequest","Api","ParamQuery","ParamBody","Body","ParamFile","IsUpdateStore","FetchRequest","$GenerateFetchRequest","IsCalling","OnCalling","fetch","then","ApiResponse","ok","ConvertResult","$ProcessApiReturn","Export","StoreKey","UpdateStore","IsSuccess","IsError","OnSuccess","catch","ex","message","OnError","IsComplete","OnComplete","Header","Headers","set","Method","SendForm","$ConvertTo_FormData","FormData","$ConvertTo_FormFile","method","JSON","stringify","UseFormJsonBody","JsonBodyKey","FormDataBody","ConvertParam","EventAdd_AddApi","EventFunc","$EventAdd","EventAdd_UpdateStore","EventAdd_AddStore","AddStore","EventAdd_SetStore","EventName","OnFunc","EventArg","EventFuncs","StorePath","StoreData","$RCS_SetStore","GetStore","Clone","CreateIfNull","DefaultValue","FindStore","$RCS_GetStore","CloneResult","ClearStore","TargetStore","AllProperty","splice","StorePaths","split","FirstKey","NextStore","NextKey","IsAwaysSet","IsDeepSet","$DeepSetObject","SetData","slice","AddFileStore","FileStoreKey","Multi","Files","WhereFunc","GetFiles","filter","AddFile","forEach","RemoveFile","DeleteFileId","DeleteIndex","findIndex","ClearFile","GetContentType","headers","get","json","text","Promise","reslove","RootUrl","ConvertFormData","Form","append","FileParam","$AppendFileToFormData","Keys","FileKey","FileValue","FileData","watch","createApp","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","WithQueryDomName","AddV_Text","SetOption","$ConvertCommandOption","$AddCommand","AddV_Model","CommandKey","ModelValue","AddV_Slot","SlotKey","AddV_For","ForKey","test","TargetHead","AddV_If","AddV_ElseIf","AddV_Else","AddV_Show","AddV_Bind","BindKey","Args","FuncArgs","AddV_On","FuncAction","AddV_Watch","WatchPath","Deep","SetWatch","AddV_Function","FuncName","methods","AddV_OnChange","ChangeFunc","AddV_Click","AddV_FilePicker","FileStorePath","Accept","Multiple","TempInput","type","accept","multiple","onchange","files","PickFile","AddV_Tree","TreeRoot","TreeSet","AllSetInfo","RootPaths","$ParseTreeSet","CommandMap","Info","TargetDom","TargetValue","StoreValue","DomPaths","TargetPath","Params","ActionSet","Command","UseDeepQuery","Nodes","UseTreePath","TreePaths","UseDomStore","ParamRegex","SetPair","pop","HasParams","Commands","LastCommand","NextDomName","AddV_Property","PropertyPath","PropertyKey","PropertyPaths","FindPath","SetProperty","$BaseAddProperty","Bind","BindPath","PropertyStore","ThisModel","PropertyContent","$get","$set","defineProperty","$properties","PropertyOption","NodeNames","IsFromQueryNode","FuncDomName","$GenerateEventFunction","TargetTail","NodeItem","$SetAttribute","AttrName","AttrValue","warn","setAttribute","$RandomFuncName","BaseFuncName","FullFuncPath","VueModel","$NativeWarn","$IsEnableVueWarn","$MountId","WithVueWarn","WithLifeCycleDirective","WithMountId","MountId","Enable","toLowerCase","mounted","el","binding","vnode","value","props","unmounted","data","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","Dom","DomName","Parent","Children","ElementDeep","NodeDeep","super","Query","$RCS_QueryChildrens","Selector","querySelector","SelectorAll","querySelectorAll","TargetNode","Results","Names","FirstName","shift","FindChildren","Mode","ChildrenResult","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","matches","getAttribute","NewNode","FileItem","$Store","File","ConvertType","reactive","$ConvertFile","FileId","Base64","Buffer","InnerStore","Clear","From","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","$ApiStore","SetStore","ApiDomain","OnEventName","#EventName","Store","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","$EventTrigger","ApiCall","$BaseApiCall","ApiCall_Form","IsFormRequest","Api","ParamQuery","ParamBody","Body","ParamFile","IsUpdateStore","FetchRequest","$GenerateFetchRequest","IsCalling","OnCalling","fetch","then","ApiResponse","ok","ConvertResult","$ProcessApiReturn","Export","StoreKey","UpdateStore","IsSuccess","IsError","OnSuccess","catch","ex","message","OnError","IsComplete","OnComplete","Header","Headers","set","Method","SendForm","$ConvertTo_FormData","FormData","$ConvertTo_FormFile","method","JSON","stringify","UseFormJsonBody","JsonBodyKey","FormDataBody","ConvertParam","EventAdd_AddApi","EventFunc","$EventAdd","EventAdd_UpdateStore","EventAdd_AddStore","AddStore","EventAdd_SetStore","EventName","OnFunc","EventArg","EventFuncs","StorePath","StoreData","$RCS_SetStore","GetStore","Clone","CreateIfNull","DefaultValue","FindStore","$RCS_GetStore","CloneResult","ClearStore","TargetStore","AllProperty","splice","StorePaths","split","FirstKey","NextStore","NextKey","IsAwaysSet","IsDeepSet","$DeepSetObject","SetData","slice","AddFileStore","FileStoreKey","Multi","Files","WhereFunc","GetFiles","filter","AddFile","forEach","RemoveFile","DeleteFileId","DeleteIndex","findIndex","ClearFile","GetContentType","headers","get","json","text","Promise","reslove","RootUrl","ConvertFormData","Form","append","FileParam","$AppendFileToFormData","Keys","FileKey","FileValue","FileData","watch","createApp","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","WithQueryDomName","AddV_Text","SetOption","$ConvertCommandOption","$AddCommand","AddV_Model","CommandKey","ModelValue","AddV_Slot","SlotKey","AddV_For","ForKey","test","TargetHead","AddV_If","AddV_ElseIf","AddV_Else","AddV_Show","AddV_Bind","BindKey","Args","FuncArgs","AddV_On","FuncAction","AddV_Watch","WatchPath","Deep","SetWatch","AddV_Function","FuncName","methods","AddV_OnChange","ChangeFunc","AddV_Click","AddV_FilePicker","FileStorePath","Accept","Multiple","TempInput","type","accept","multiple","onchange","files","PickFile","AddV_Tree","TreeRoot","TreeSet","AllSetInfo","RootPaths","$ParseTreeSet","CommandMap","Info","TargetDom","TargetValue","StoreValue","DomPaths","TargetPath","Params","AddV_OnMounted","AddV_OnUnMounted","ActionSet","Command","UseDeepQuery","Nodes","UseTreePath","TreePaths","UseDomStore","ParamRegex","SetPair","pop","HasParams","Commands","LastCommand","NextDomName","AddV_Property","PropertyPath","PropertyKey","PropertyPaths","FindPath","SetProperty","$BaseAddProperty","Bind","BindPath","PropertyStore","ThisModel","PropertyContent","$get","$set","defineProperty","$properties","PropertyOption","NodeNames","IsFromQueryNode","FuncDomName","$GenerateEventFunction","TargetTail","NodeItem","$SetAttribute","AttrName","AttrValue","warn","setAttribute","$RandomFuncName","BaseFuncName","FullFuncPath","VueModel","$NativeWarn","$IsEnableVueWarn","$MountId","WithVueWarn","WithLifeCycleDirective","WithMountId","MountId","Enable","toLowerCase","mounted","el","binding","vnode","value","props","unmounted","data","use","directive","mount","UseFunc","UsingVueApp"]
|
|
7
7
|
}
|
package/dist/VueModel.umd.js
CHANGED
|
@@ -1267,6 +1267,12 @@
|
|
|
1267
1267
|
}
|
|
1268
1268
|
Model.AddV_Slot(Option.TargetDom, Info.CommandKey, Option.TargetPath);
|
|
1269
1269
|
},
|
|
1270
|
+
'v-on-mounted': (Info, Option) => {
|
|
1271
|
+
Model.AddV_OnMounted(Option.TargetDom, Option.TargetValue, Info.CommandKey);
|
|
1272
|
+
},
|
|
1273
|
+
'v-on-unmounted': (Info, Option) => {
|
|
1274
|
+
Model.AddV_OnUnMounted(Option.TargetDom, Option.TargetValue, Info.CommandKey);
|
|
1275
|
+
},
|
|
1270
1276
|
'watch': (Info, Option) => {
|
|
1271
1277
|
if (typeof (Info.StoreValue) != 'function') {
|
|
1272
1278
|
Model.$Error(`watch command value must be a function, path: ${this.ToJoin(Info.DomPaths)}`);
|
package/dist/VueModel.umd.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(n){if(typeof module=="object"&&typeof module.exports=="object"){var t=n(require,exports);t!==undefined&&(module.exports=t)}else typeof define=="function"&&define.amd&&define(["require","exports","vue","vue"],n)})(function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Model=t.VueModel=t.VueCommand=t.VueStore=t.ApiStore=t.FileItem=t.Queryer=t.DomQueryer=t.FuncBase=void 0;class f{$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 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)}}t.FuncBase=f;class e extends f{Dom;DomName=null;Parent=null;Children=[];ElementDeep=0;NodeDeep=0;constructor(n){super();this.Dom=n}Query(n,t){return this.$RCS_QueryChildrens(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}}class s{$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 e(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 r.IsInited||r.Init(),t==null?t={Mode:"Multi"}:t instanceof e&&(t={Mode:"Multi",TargetNode:t}),t.TargetNode==null&&(t.TargetNode=this.$RootNode),t.TargetNode.Query(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 e(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}}t.DomQueryer=s;var r=new s;t.Queryer=r;class u{$Store;constructor(n,t="none"){n==null?this.$Store=o.reactive({}):(this.$Store=o.reactive({FileId:(new f).GenerateId(),File:n,ConvertType:t,Base64:null,Buffer: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}get Buffer(){return this.$Store.Buffer}set Buffer(n){this.$Store.Buffer=n}get InnerStore(){return this.$Store}Clear(){this.$Store.Base64=null;this.$Store.Buffer=null;this.$Store.File=null}From(n){this.$Store=n.InnerStore}$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.$ConvertBase64();break;case"buffer":this.$ConvertBuffer()}}}}$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}$ConvertBuffer(){let n=new FileReader;n.readAsArrayBuffer(this.File);n.onload=()=>this.Buffer=n.result}}t.FileItem=u;class h extends f{#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=[];$ApiStore={};constructor(){super();this.SetStore("api",this.$ApiStore)}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 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.$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);r.IsCalling=!0;r.OnCalling?.call(this,o);t?.OnCalling?.call(this,o);fetch(h,o).then(async n=>{if(!n.ok)throw n;let i=await this.$ProcessApiReturn(n);if(s){r.Export!=!1&&(typeof r.Export=="function"?i=r.Export?.call(this,i,n):this.#ExportSuccessStore!=null&&(i=this.#ExportSuccessStore?.call(this,i,n)));let t=r.ApiKey;this.UpdateStore(t,i)}return r.IsSuccess=!0,r.IsError=!1,r.OnSuccess?.call(this,i,n),t?.OnSuccess?.call(this,i,n),this.#OnSuccess?.call(this,i,n),{ConvertResult:i,ApiResponse:n}}).catch(n=>{r.IsError=!0,r.IsSuccess=!1,this.$Error(n.message),r.OnError?.call(this,n),t?.OnError?.call(this,n),this.#OnError?.call(this,n)}).then(n=>{r.IsCalling=!1,r.IsComplete=!0,n instanceof Object?(r.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),t?.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),this.#OnComplete?.call(this,n.ConvertResult,n.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}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)}UpdateStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.UpdateStore,{Path:n,Data:t}),this}AddStore(n,t=null){return(n=this.ToJoin(n),this.GetStore(n)!=null)?this:(this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.AddStore,{Path:n,Data:t}),this)}SetStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!1}),this.$EventTrigger(this.#EventName.SetStore,{Path:n,Data:t}),this}GetStore(n,t){typeof t=="boolean"&&(t={Clone:t});t??={};t.Clone??=!1;t.CreateIfNull??=!1;t.DefaultValue==null&&(t.DefaultValue={});n=this.ToJoin(n);let i=this.$RCS_GetStore(n,this.Store,{CreateIfNull:t.CreateIfNull,DefaultValue:t.DefaultValue});if(t.Clone){let n={},t=Object.getOwnPropertyNames(i);for(let r of t)r.match(/^\$/g)||(n[r]=i[r]);return n}return i}ClearStore(n){let t=this.GetStore(n);if(t==null)return this;let i=Object.getOwnPropertyNames(t);for(let n of i)if(!n.match(/^\$/g)){let i=t[n];if(typeof i!="function"){if(Array.isArray(i)){i.splice(0,i.length);continue}t[n]=null}}return this}$RCS_GetStore(n,t,i){if(t==null)return null;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.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=!r.IsDeepSet||i[n]==null||t==null||typeof t!="object";return u?(i[n]=t,t):(this.$DeepSetObject(n,t,i),t)}$DeepSetObject(n,t,i){if(t==null){i[n]=t;return}if(!Array.isArray(t)){this.ForEachObject(t,(t,r)=>{if(Array.isArray(r)||typeof r=="object"){this.$DeepSetObject(t,r,i[n]);return}i[n]==null&&(i[n]={});i[n][t]=r});return}Array.isArray(i[n])||(i[n]=[]);i[n]=t.slice()}AddFileStore(n,t){return t??={},this.FileStore[n]==null&&(this.FileStore[n]=t.Multi==!0?[]:new u),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 u==!1&&(t=new u(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 u)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}}t.ApiStore=h;const v=n("vue"),o=n("vue");class c extends h{$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(n){return this.$VueProxy?this.$VueProxy.$refs[i.ToJoin(n)]:null}}t.VueStore=c;class l extends c{$IsInited=false;$QueryDomName=null;WithQueryDomName(n){return this.$QueryDomName=n,r.WithDomName(this.$QueryDomName),this}AddV_Text(n,t){let r=this.$ConvertCommandOption(n,t);return typeof r.Target!="function"&&i.AddStore(r.Target),this.$AddCommand(n,"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(i);return r.CommandKey=t,this.$AddCommand(n,`v-slot`,r),this}AddV_For(n,t,r){let u=this.$ConvertCommandOption(n,t);r&&(r=this.ToJoin(r),/^\(/.test(r)||(r=`(${r}`),/\)$/.test(r)||(r+=")"),u.TargetHead=`${r} in `);let f=i.ToJoin(u.Target);return f.includes("in")||(u.TargetHead??="(item, index) in "),this.$AddCommand(n,"v-for",u),this}AddV_If(n,t){let i=this.$ConvertCommandOption(n,t);return this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){let i=this.$ConvertCommandOption(n,t);return 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 this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.FuncAction=!1,u.CommandKey=t,this.$AddCommand(n,`v-on`,u),this}AddV_Watch(n,t,r=false,u={}){let f={handler:t,deep:r,...u};return i.WithMounted(()=>{i.AddStore(n),v.watch(()=>i.GetStore(n),t,f)}),this}AddV_Function(n,t){return this.$IsInited&&!Array.isArray(n)?this.$VueOption.methods[n]=t:i.UpdateStore(n,t),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);return i&&(r.FuncArgs=i),this.AddV_On(n,"click",r),this}AddV_FilePicker(n,t){let i=null,u=null,f="none",r=!1;return typeof t=="string"?i=t:(i=t.Store,f=t.ConvertType,r=t.Multiple,u=Array.isArray(t.Accept)?t.Accept.join(" "):t.Accept),this.AddFileStore(i,{Multi:r}),this.AddV_Click(n,()=>{let n=document.createElement("input");n.type="file";u!=null&&(n.accept=u);r!=null&&(n.multiple=r);n.onchange=()=>{if(n.files!=null&&n.files.length!=0){let t=n.files;for(let n=0;n<t.length;n++){let r=t[n];this.AddFile(i,r,f)}}};n.click()}),this}AddV_Tree(n,t,u){let f=[],e=this.Paths(n);this.$ParseTreeSet(e,t,f);let o={"v-text":(n,t)=>{i.AddV_Text(t.TargetDom,t.TargetValue)},"v-model":(n,t)=>{if(typeof n.StoreValue=="function"){i.$Error(`v-model command value must be a string or string[], path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Model(t.TargetDom,t.TargetPath,{ModelValue:n.CommandKey})},"v-for":(n,t)=>{i.AddV_For(t.TargetDom,t.TargetValue,n.CommandKey)},"v-if":(n,t)=>{i.AddV_If(t.TargetDom,t.TargetValue)},"v-else-if":(n,t)=>{i.AddV_ElseIf(t.TargetDom,t.TargetValue)},"v-else":(n,t)=>{i.AddV_Else(t.TargetDom)},"v-show":(n,t)=>{i.AddV_Show(t.TargetDom,t.TargetValue)},"v-bind":(n,t)=>{i.AddV_Bind(t.TargetDom,n.CommandKey,t.TargetValue,n.Params)},"v-on":(n,t)=>{i.AddV_On(t.TargetDom,n.CommandKey,t.TargetValue,n.Params)},"v-slot":(n,t)=>{if(Array.isArray(n.StoreValue)||typeof n.StoreValue=="function"){i.$Error(`v-slot command value must be a string, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Slot(t.TargetDom,n.CommandKey,t.TargetPath)},watch:n=>{if(typeof n.StoreValue!="function"){i.$Error(`watch command value must be a function, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Watch(n.DomPaths,n.StoreValue)},func:n=>{if(typeof n.StoreValue!="function"){i.$Error(`func command value must be a function, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Function(["event",...n.DomPaths,n.CommandKey],n.StoreValue)},using:n=>{typeof n.StoreValue=="function"&&n.StoreValue(n.DomPaths)}};for(let n of f){let f=o[n.Command];if(f==null){i.$Error(`${n.Command} command is not allowed, path: ${this.ToJoin(n.DomPaths)}`);continue}if(u?.UseDeepQuery){let t=r.Query(n.DomPaths,{Mode:"DeepMulti"});n.Nodes=t}let s=u?.UseDeepQuery?n.Nodes:n.DomPaths,t=[],e;typeof n.StoreValue!="function"&&(u?.UseTreePath&&(t=[...n.TreePaths]),u?.UseDomStore||n.StoreValue=="."?t.push(n.DomName):n.StoreValue!=null&&n.StoreValue!=""&&(t=this.Paths(t,n.StoreValue)));e=t.length>0?t:n.StoreValue;f(n,{TargetDom:s,TargetPath:t,TargetValue:e})}return this}$ParseTreeSet(n,t,r){let u=Object.keys(t),f=/^(.+?)\(([^)]*)\)$/;for(let e=0;e<u.length;e++){let o=u[e],h=t[o],c=[...n],a=[...n],y=a.pop();if(!o.includes(":")){let n=o.match(f),t=null;n&&n.length>=3&&(o=n[1],t=n[2]);r.push({Command:o,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,CommandKey:t});continue}let s=o.split(":");if(o.length<2){i.$Error(`command ${o} invalid`);continue}o=s.shift();let v=null;if(s.length>0){let t=s.pop(),n=t.match(f);n&&n.length>=3?(s.push(n[1]),v=n[2]):s.push(t)}let l=i.ToJoin(s,":");if(o==""){typeof h!="function"?this.$ParseTreeSet([...n,l],h,r):r.push({Command:"using",CommandKey:null,StoreValue:h,TreePaths:[...c],DomPaths:[...c,l],DomName:l,Params:v});continue}r.push({Command:o,CommandKey:l,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,Params:v})}}AddV_Property(n,t){if(n!=null){let i=this.Store;n=this.ToJoin(n);let r=n;if(n.includes(".")){let t=n.split(".");r=t.pop();let u=t.join(".");i=this.GetStore(u,{CreateIfNull:!0})}let u=this.$BaseAddProperty(i,r,t);if(t.Bind){Array.isArray(t.Bind)||(t.Bind=[t.Bind]);for(let i of t.Bind)i!=null&&this.AddV_Property(i,{Target:n});u.Bind=t.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 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},r[t]==null&&i.Value!=null&&(r[t]=i.Value),r}$ConvertCommandOption(n,t){if(t==null)if(this.IsPathType(n))return{Target:n,FuncAction:!1};else{let t=n,i=t.map(n=>n.DomName);return{Target:i,FuncAction:!1}}return typeof t=="string"||typeof t=="function"||Array.isArray(t)?{Target:t,FuncAction:!0}:(t.FuncAction??=!0,t)}$AddCommand(n,t,i){if(n!=null){Array.isArray(n)||(n=[n]);let o=n[0]instanceof e,f;f=o?n:r.Query(n);let u=i.Target;if(typeof u=="function"){let r=n;if(u=this.$GenerateEventFunction(r,u,t),i.FuncArgs){let n=this.ToJoin(i.FuncArgs,",");/^\(/.test(n)||(n=`(${n}`);/\)$/.test(n)||(n+=")");u+=n}else i.FuncAction&&(u+=`()`)}else u=this.ToJoin(u);i.TargetHead&&(u=i.TargetHead+u);i.TargetTail&&(u+=i.TargetTail);i.CommandKey&&(t+=`:${i.CommandKey}`);for(let n=0;n<f.length;n++){let i=f[n],r=i.Dom;this.$SetAttribute(r,t,u)}}}$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)}}t.VueCommand=l;class a extends l{$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(i.props,i.el,i)}});this.WithDirective("on-unmounted",{unmounted(n,t,i){typeof t.value=="function"&&t.value(i.props,i.el,i)}})}Init(){if(this.$IsInited)return this;this.Store=o.reactive(this.Store);let n=this.Store,t=this.$MountedFuncs;this.$VueApp=o.createApp({...this.$VueOption,data(){return n},mounted:()=>{for(let n of t)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="($props, $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="($props, $el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-unmounted`,r),this}}t.VueModel=a;const i=new a;t.Model=i;window.Model=i});
|
|
1
|
+
(function(n){if(typeof module=="object"&&typeof module.exports=="object"){var t=n(require,exports);t!==undefined&&(module.exports=t)}else typeof define=="function"&&define.amd&&define(["require","exports","vue","vue"],n)})(function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.Model=t.VueModel=t.VueCommand=t.VueStore=t.ApiStore=t.FileItem=t.Queryer=t.DomQueryer=t.FuncBase=void 0;class f{$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 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)}}t.FuncBase=f;class e extends f{Dom;DomName=null;Parent=null;Children=[];ElementDeep=0;NodeDeep=0;constructor(n){super();this.Dom=n}Query(n,t){return this.$RCS_QueryChildrens(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}}class s{$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 e(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 r.IsInited||r.Init(),t==null?t={Mode:"Multi"}:t instanceof e&&(t={Mode:"Multi",TargetNode:t}),t.TargetNode==null&&(t.TargetNode=this.$RootNode),t.TargetNode.Query(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 e(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}}t.DomQueryer=s;var r=new s;t.Queryer=r;class u{$Store;constructor(n,t="none"){n==null?this.$Store=o.reactive({}):(this.$Store=o.reactive({FileId:(new f).GenerateId(),File:n,ConvertType:t,Base64:null,Buffer: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}get Buffer(){return this.$Store.Buffer}set Buffer(n){this.$Store.Buffer=n}get InnerStore(){return this.$Store}Clear(){this.$Store.Base64=null;this.$Store.Buffer=null;this.$Store.File=null}From(n){this.$Store=n.InnerStore}$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.$ConvertBase64();break;case"buffer":this.$ConvertBuffer()}}}}$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}$ConvertBuffer(){let n=new FileReader;n.readAsArrayBuffer(this.File);n.onload=()=>this.Buffer=n.result}}t.FileItem=u;class h extends f{#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=[];$ApiStore={};constructor(){super();this.SetStore("api",this.$ApiStore)}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 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.$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);r.IsCalling=!0;r.OnCalling?.call(this,o);t?.OnCalling?.call(this,o);fetch(h,o).then(async n=>{if(!n.ok)throw n;let i=await this.$ProcessApiReturn(n);if(s){r.Export!=!1&&(typeof r.Export=="function"?i=r.Export?.call(this,i,n):this.#ExportSuccessStore!=null&&(i=this.#ExportSuccessStore?.call(this,i,n)));let t=r.ApiKey;this.UpdateStore(t,i)}return r.IsSuccess=!0,r.IsError=!1,r.OnSuccess?.call(this,i,n),t?.OnSuccess?.call(this,i,n),this.#OnSuccess?.call(this,i,n),{ConvertResult:i,ApiResponse:n}}).catch(n=>{r.IsError=!0,r.IsSuccess=!1,this.$Error(n.message),r.OnError?.call(this,n),t?.OnError?.call(this,n),this.#OnError?.call(this,n)}).then(n=>{r.IsCalling=!1,r.IsComplete=!0,n instanceof Object?(r.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),t?.OnComplete?.call(this,n.ConvertResult,n.ApiResponse),this.#OnComplete?.call(this,n.ConvertResult,n.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}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)}UpdateStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.UpdateStore,{Path:n,Data:t}),this}AddStore(n,t=null){return(n=this.ToJoin(n),this.GetStore(n)!=null)?this:(this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!0}),this.$EventTrigger(this.#EventName.AddStore,{Path:n,Data:t}),this)}SetStore(n,t){return n=this.ToJoin(n),this.$RCS_SetStore(n,t,this.Store,{IsDeepSet:!1}),this.$EventTrigger(this.#EventName.SetStore,{Path:n,Data:t}),this}GetStore(n,t){typeof t=="boolean"&&(t={Clone:t});t??={};t.Clone??=!1;t.CreateIfNull??=!1;t.DefaultValue==null&&(t.DefaultValue={});n=this.ToJoin(n);let i=this.$RCS_GetStore(n,this.Store,{CreateIfNull:t.CreateIfNull,DefaultValue:t.DefaultValue});if(t.Clone){let n={},t=Object.getOwnPropertyNames(i);for(let r of t)r.match(/^\$/g)||(n[r]=i[r]);return n}return i}ClearStore(n){let t=this.GetStore(n);if(t==null)return this;let i=Object.getOwnPropertyNames(t);for(let n of i)if(!n.match(/^\$/g)){let i=t[n];if(typeof i!="function"){if(Array.isArray(i)){i.splice(0,i.length);continue}t[n]=null}}return this}$RCS_GetStore(n,t,i){if(t==null)return null;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.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=!r.IsDeepSet||i[n]==null||t==null||typeof t!="object";return u?(i[n]=t,t):(this.$DeepSetObject(n,t,i),t)}$DeepSetObject(n,t,i){if(t==null){i[n]=t;return}if(!Array.isArray(t)){this.ForEachObject(t,(t,r)=>{if(Array.isArray(r)||typeof r=="object"){this.$DeepSetObject(t,r,i[n]);return}i[n]==null&&(i[n]={});i[n][t]=r});return}Array.isArray(i[n])||(i[n]=[]);i[n]=t.slice()}AddFileStore(n,t){return t??={},this.FileStore[n]==null&&(this.FileStore[n]=t.Multi==!0?[]:new u),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 u==!1&&(t=new u(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 u)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}}t.ApiStore=h;const v=n("vue"),o=n("vue");class c extends h{$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(n){return this.$VueProxy?this.$VueProxy.$refs[i.ToJoin(n)]:null}}t.VueStore=c;class l extends c{$IsInited=false;$QueryDomName=null;WithQueryDomName(n){return this.$QueryDomName=n,r.WithDomName(this.$QueryDomName),this}AddV_Text(n,t){let r=this.$ConvertCommandOption(n,t);return typeof r.Target!="function"&&i.AddStore(r.Target),this.$AddCommand(n,"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(i);return r.CommandKey=t,this.$AddCommand(n,`v-slot`,r),this}AddV_For(n,t,r){let u=this.$ConvertCommandOption(n,t);r&&(r=this.ToJoin(r),/^\(/.test(r)||(r=`(${r}`),/\)$/.test(r)||(r+=")"),u.TargetHead=`${r} in `);let f=i.ToJoin(u.Target);return f.includes("in")||(u.TargetHead??="(item, index) in "),this.$AddCommand(n,"v-for",u),this}AddV_If(n,t){let i=this.$ConvertCommandOption(n,t);return this.$AddCommand(n,"v-if",i),this}AddV_ElseIf(n,t){let i=this.$ConvertCommandOption(n,t);return 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 this.$AddCommand(n,"v-show",i),this}AddV_Bind(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.CommandKey=t,this.$AddCommand(n,"v-bind",u),this}AddV_On(n,t,i,r){let u=this.$ConvertCommandOption(n,i);return r&&(u.FuncArgs=r),u.FuncAction=!1,u.CommandKey=t,this.$AddCommand(n,`v-on`,u),this}AddV_Watch(n,t,r=false,u={}){let f={handler:t,deep:r,...u};return i.WithMounted(()=>{i.AddStore(n),v.watch(()=>i.GetStore(n),t,f)}),this}AddV_Function(n,t){return this.$IsInited&&!Array.isArray(n)?this.$VueOption.methods[n]=t:i.UpdateStore(n,t),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);return i&&(r.FuncArgs=i),this.AddV_On(n,"click",r),this}AddV_FilePicker(n,t){let i=null,u=null,f="none",r=!1;return typeof t=="string"?i=t:(i=t.Store,f=t.ConvertType,r=t.Multiple,u=Array.isArray(t.Accept)?t.Accept.join(" "):t.Accept),this.AddFileStore(i,{Multi:r}),this.AddV_Click(n,()=>{let n=document.createElement("input");n.type="file";u!=null&&(n.accept=u);r!=null&&(n.multiple=r);n.onchange=()=>{if(n.files!=null&&n.files.length!=0){let t=n.files;for(let n=0;n<t.length;n++){let r=t[n];this.AddFile(i,r,f)}}};n.click()}),this}AddV_Tree(n,t,u){let f=[],e=this.Paths(n);this.$ParseTreeSet(e,t,f);let o={"v-text":(n,t)=>{i.AddV_Text(t.TargetDom,t.TargetValue)},"v-model":(n,t)=>{if(typeof n.StoreValue=="function"){i.$Error(`v-model command value must be a string or string[], path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Model(t.TargetDom,t.TargetPath,{ModelValue:n.CommandKey})},"v-for":(n,t)=>{i.AddV_For(t.TargetDom,t.TargetValue,n.CommandKey)},"v-if":(n,t)=>{i.AddV_If(t.TargetDom,t.TargetValue)},"v-else-if":(n,t)=>{i.AddV_ElseIf(t.TargetDom,t.TargetValue)},"v-else":(n,t)=>{i.AddV_Else(t.TargetDom)},"v-show":(n,t)=>{i.AddV_Show(t.TargetDom,t.TargetValue)},"v-bind":(n,t)=>{i.AddV_Bind(t.TargetDom,n.CommandKey,t.TargetValue,n.Params)},"v-on":(n,t)=>{i.AddV_On(t.TargetDom,n.CommandKey,t.TargetValue,n.Params)},"v-slot":(n,t)=>{if(Array.isArray(n.StoreValue)||typeof n.StoreValue=="function"){i.$Error(`v-slot command value must be a string, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Slot(t.TargetDom,n.CommandKey,t.TargetPath)},"v-on-mounted":(n,t)=>{i.AddV_OnMounted(t.TargetDom,t.TargetValue,n.CommandKey)},"v-on-unmounted":(n,t)=>{i.AddV_OnUnMounted(t.TargetDom,t.TargetValue,n.CommandKey)},watch:n=>{if(typeof n.StoreValue!="function"){i.$Error(`watch command value must be a function, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Watch(n.DomPaths,n.StoreValue)},func:n=>{if(typeof n.StoreValue!="function"){i.$Error(`func command value must be a function, path: ${this.ToJoin(n.DomPaths)}`);return}i.AddV_Function(["event",...n.DomPaths,n.CommandKey],n.StoreValue)},using:n=>{typeof n.StoreValue=="function"&&n.StoreValue(n.DomPaths)}};for(let n of f){let f=o[n.Command];if(f==null){i.$Error(`${n.Command} command is not allowed, path: ${this.ToJoin(n.DomPaths)}`);continue}if(u?.UseDeepQuery){let t=r.Query(n.DomPaths,{Mode:"DeepMulti"});n.Nodes=t}let s=u?.UseDeepQuery?n.Nodes:n.DomPaths,t=[],e;typeof n.StoreValue!="function"&&(u?.UseTreePath&&(t=[...n.TreePaths]),u?.UseDomStore||n.StoreValue=="."?t.push(n.DomName):n.StoreValue!=null&&n.StoreValue!=""&&(t=this.Paths(t,n.StoreValue)));e=t.length>0?t:n.StoreValue;f(n,{TargetDom:s,TargetPath:t,TargetValue:e})}return this}$ParseTreeSet(n,t,r){let u=Object.keys(t),f=/^(.+?)\(([^)]*)\)$/;for(let e=0;e<u.length;e++){let o=u[e],h=t[o],c=[...n],a=[...n],y=a.pop();if(!o.includes(":")){let n=o.match(f),t=null;n&&n.length>=3&&(o=n[1],t=n[2]);r.push({Command:o,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,CommandKey:t});continue}let s=o.split(":");if(o.length<2){i.$Error(`command ${o} invalid`);continue}o=s.shift();let v=null;if(s.length>0){let t=s.pop(),n=t.match(f);n&&n.length>=3?(s.push(n[1]),v=n[2]):s.push(t)}let l=i.ToJoin(s,":");if(o==""){typeof h!="function"?this.$ParseTreeSet([...n,l],h,r):r.push({Command:"using",CommandKey:null,StoreValue:h,TreePaths:[...c],DomPaths:[...c,l],DomName:l,Params:v});continue}r.push({Command:o,CommandKey:l,StoreValue:h,TreePaths:a,DomPaths:c,DomName:y,Params:v})}}AddV_Property(n,t){if(n!=null){let i=this.Store;n=this.ToJoin(n);let r=n;if(n.includes(".")){let t=n.split(".");r=t.pop();let u=t.join(".");i=this.GetStore(u,{CreateIfNull:!0})}let u=this.$BaseAddProperty(i,r,t);if(t.Bind){Array.isArray(t.Bind)||(t.Bind=[t.Bind]);for(let i of t.Bind)i!=null&&this.AddV_Property(i,{Target:n});u.Bind=t.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 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},r[t]==null&&i.Value!=null&&(r[t]=i.Value),r}$ConvertCommandOption(n,t){if(t==null)if(this.IsPathType(n))return{Target:n,FuncAction:!1};else{let t=n,i=t.map(n=>n.DomName);return{Target:i,FuncAction:!1}}return typeof t=="string"||typeof t=="function"||Array.isArray(t)?{Target:t,FuncAction:!0}:(t.FuncAction??=!0,t)}$AddCommand(n,t,i){if(n!=null){Array.isArray(n)||(n=[n]);let o=n[0]instanceof e,f;f=o?n:r.Query(n);let u=i.Target;if(typeof u=="function"){let r=n;if(u=this.$GenerateEventFunction(r,u,t),i.FuncArgs){let n=this.ToJoin(i.FuncArgs,",");/^\(/.test(n)||(n=`(${n}`);/\)$/.test(n)||(n+=")");u+=n}else i.FuncAction&&(u+=`()`)}else u=this.ToJoin(u);i.TargetHead&&(u=i.TargetHead+u);i.TargetTail&&(u+=i.TargetTail);i.CommandKey&&(t+=`:${i.CommandKey}`);for(let n=0;n<f.length;n++){let i=f[n],r=i.Dom;this.$SetAttribute(r,t,u)}}}$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)}}t.VueCommand=l;class a extends l{$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(i.props,i.el,i)}});this.WithDirective("on-unmounted",{unmounted(n,t,i){typeof t.value=="function"&&t.value(i.props,i.el,i)}})}Init(){if(this.$IsInited)return this;this.Store=o.reactive(this.Store);let n=this.Store,t=this.$MountedFuncs;this.$VueApp=o.createApp({...this.$VueOption,data(){return n},mounted:()=>{for(let n of t)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="($props, $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="($props, $el, $vnode) => "),r.FuncAction=!1,this.$AddCommand(n,`v-on-unmounted`,r),this}}t.VueModel=a;const i=new a;t.Model=i;window.Model=i});
|
|
2
2
|
//# sourceMappingURL=VueModel.umd.min.js.map
|