@journeyapps-labs/reactor-mod-data-browser 3.1.3 → 3.2.1
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/CHANGELOG.md +15 -0
- package/dist/@types/panels/query/PageResultsWidget.d.ts +6 -0
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +4 -0
- package/dist/core/query/query-simple/SimpleQuery.js +6 -0
- package/dist/core/query/query-simple/SimpleQuery.js.map +1 -1
- package/dist/panels/query/PageResultsWidget.js +20 -1
- package/dist/panels/query/PageResultsWidget.js.map +1 -1
- package/dist/panels/query/QueryPanelFactory.js +24 -2
- package/dist/panels/query/QueryPanelFactory.js.map +1 -1
- package/dist/panels/query/QueryPanelWidget.js +22 -13
- package/dist/panels/query/QueryPanelWidget.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist-module/bundle.js +2 -2
- package/dist-module/bundle.js.map +1 -1
- package/package.json +3 -3
- package/src/core/query/query-simple/SimpleQuery.tsx +7 -0
- package/src/panels/query/PageResultsWidget.tsx +27 -1
- package/src/panels/query/QueryPanelFactory.tsx +12 -0
- package/src/panels/query/QueryPanelWidget.tsx +29 -13
package/dist-module/bundle.js
CHANGED
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
`}(At||(At={}));const Dt=(0,He.observer)(t=>{var r;const{row:n,connection:i,variable_id:s}=t;let a=!1,o=n.model.model[s.name];return n.model.patch.has(s.relationship)&&(o=null===(r=n.model.patch.get(s.relationship))||void 0===r?void 0:r.id,a=!0),Se.createElement(Ot.Container,{dirty:a,open:t=>{xt.get().fireAction({source:e.ActionSource.BUTTON,targetEntity:t})},relationship:n.model.definition.definition.belongsTo[s.relationship],connection:i,id:o})});var Ot;!function(t){t.Container=(0,e.styled)(Lt)`
|
|
150
150
|
border-left: solid 4px ${e=>e.dirty?e.theme.status.success:"transparent"};
|
|
151
151
|
padding-left: 2px;
|
|
152
|
-
`}(Ot||(Ot={}));let kt=(()=>{var e,a,o;let l,c=y.BaseObserver,u=[],p=[];return e=class SimpleQuerySortState extends c{get sorts(){return n(this,a,"f")}set sorts(e){i(this,a,e,"f")}get definition(){return n(this,o,"f")}set definition(e){i(this,o,e,"f")}constructor(e){super(),a.set(this,r(this,u,void 0)),o.set(this,r(this,p)),this.sorts=[],this.definition=e}setDefinition(e){var t,r,n;const i=(null===(r=null===(t=this.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name)!==(null===(n=null==e?void 0:e.definition)||void 0===n?void 0:n.name);return this.definition=e,i&&this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),i}getSort(e){return this.sorts.find(t=>t.field===e)}addSort(e){if(!(null==e?void 0:e.field))return!1;if(this.getSort(e.field))return!1;let t=e.registerListener({changed:()=>{this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)})},removeRequested:()=>{t(),this.sorts=this.sorts.filter(t=>t!==e),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)})}});return this.sorts=[...this.sorts,e],this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}moveSortBefore(e,t){if(!e||!t||e===t)return!1;const r=this.sorts.findIndex(t=>t.field===e),n=this.sorts.findIndex(e=>e.field===t);if(r<0||n<0)return!1;const i=[...this.sorts],[s]=i.splice(r,1),a=i.findIndex(e=>e.field===t),o=r<n?a+1:a;return i.splice(o,0,s),this.sorts=i,this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}setSorts(e){const t=this.normalizeSorts(e);return[...this.sorts].forEach(e=>e.remove()),this.sorts=[],t.forEach(e=>this.addSort(e)),!0}hydrateSorts(e=[]){const t=(e||[]).map(e=>SimpleQuerySort.deserialize(e));return this.setSorts(t)}getSerializedSorts(){return this.sorts.map(e=>e.serialize())}getSortableFields(){const e=this.definition;if(!(null==e?void 0:e.definition))return[];const t=d.map(e.definition.attributes,e=>({key:e.name,label:e.label||e.name}));return[{key:nt.ID,label:it[nt.ID]},{key:nt.UPDATED_AT,label:it[nt.UPDATED_AT]},...t]}normalizeSorts(e){const t=new Set;return(e||[]).filter(e=>!!(null==e?void 0:e.field)&&((e.direction===be.ASC||e.direction===be.DESC)&&(!t.has(e.field)&&(t.add(e.field),!0))))}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=c[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[s.observable],t(e,null,l,{kind:"accessor",name:"sorts",static:!1,private:!1,access:{has:e=>"sorts"in e,get:e=>e.sorts,set:(e,t)=>{e.sorts=t}},metadata:n},u,p),n&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),e})();var Nt;class SimpleQueryFilterState extends y.BaseObserver{get definition(){return n(this,Nt,"f")}set definition(e){i(this,Nt,e,"f")}constructor(e){super(),Nt.set(this,void 0),this.simpleFilters=new Map,this.definition=e.definition,this.typeEngine=e.typeEngine}get filters(){return Array.from(this.simpleFilters.values())}clear(){this.filters.forEach(e=>e.delete())}setDefinition(e){var t,r,n;const i=(null===(r=null===(t=this.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name)!==(null===(n=null==e?void 0:e.definition)||void 0===n?void 0:n.name);this.definition=e;const s=this.simpleFilters.size>0;return i&&this.clear(),i&&!s&&this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),i||s}getFilterableFields(){var e;return(null===(e=this.definition)||void 0===e?void 0:e.definition)?this.definition.getFilterableFields(this.typeEngine):[]}getActiveFilters(){return Array.from(this.simpleFilters.entries()).map(([e,t])=>({variable:e,filter:t}))}getFilter(e){const t=this.resolveAttribute(e);return t?this.simpleFilters.get(t):void 0}getSerializedFilters(){return this.filters.map(e=>e.serialize())}hydrateFilters(e){this.clear();const t=this.definition;(null==t?void 0:t.definition)&&(e||[]).forEach(e=>{if(!SimpleFilter.canDeserialize(e))return;const r=d.find(d.values(t.definition.attributes),t=>t.name===e.variable);r&&this.addFilter(r,SimpleFilter.deserialize(r,e))})}setFilter(e,t){const r=this.resolveAttribute(e);return!!r&&this.addFilter(r,t)}async setupFilterForField(e,t){const r=this.resolveAttribute(e);if(!r)return!1;const n=this.typeEngine.getHandler(r.type);if(!(null==n?void 0:n.setupFilter))return!1;const i=this.simpleFilters.get(r),s=await n.setupFilter({variable:r,filter:i,position:t});return!!s&&this.addFilter(r,s)}addFilter(e,t){const r=this.simpleFilters.get(e);if(r&&r!==t&&r.delete(),r===t)return this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0;let n=t.registerListener({removeRequested:()=>{n(),this.simpleFilters.get(e)===t&&(this.simpleFilters.delete(e),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}))}});return this.simpleFilters.set(e,t),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}resolveAttribute(e){var t;if(null===(t=this.definition)||void 0===t?void 0:t.definition)return d.find(d.values(this.definition.definition.attributes),t=>t.name===e)}}Nt=new WeakMap;let It=(()=>{var a,o,l,u;let p,h,m,f,y=AbstractSerializableQuery,_=[],g=[],b=[],T=[],S=[],v=[],E=[];return a=class SimpleQuery extends y{get connStore(){return n(this,o,"f")}set connStore(e){i(this,o,e,"f")}get _totalPages(){return n(this,l,"f")}set _totalPages(e){i(this,l,e,"f")}get _pages(){return n(this,u,"f")}set _pages(e){i(this,u,e,"f")}constructor(t={}){var n;super("simple",null===(n=t.definition)||void 0===n?void 0:n.connection),this.options=(r(this,_),t),o.set(this,r(this,g,void 0)),l.set(this,(r(this,b),r(this,T,void 0))),u.set(this,(r(this,S),r(this,v,void 0))),this.sortState=r(this,E),this._totalPages=0,this._pages=[],this.sortState=new kt(t.definition),this.filterState=new SimpleQueryFilterState({definition:t.definition,typeEngine:e.ioc.get(rt)}),this.suspendStateLoad=!1,this.scheduleLoad=d.debounce(()=>{this.suspendStateLoad||this.load()},10,{trailing:!0,leading:!1});const i=()=>{this.suspendStateLoad||this.scheduleLoad()};this.sortState.registerListener({changed:()=>{i()}}),this.filterState.registerListener({changed:()=>{i()}})}matches(e){return e instanceof a&&d.isEqual(this.serialize(),e.serialize())}async load(){this._pages=[];const e=await this.options.definition.getCollection(),t=Te(e.all(),Array.from(this.filterState.simpleFilters.values()),this.sortState.sorts),r=await e.adapter.doApiQuery(t);this._totalPages=Math.ceil(r.total/this.options.limit)}getPage(e){if(!this._pages[e]){const t=new SimplePage({offset:e*this.options.limit,limit:this.options.limit,definition:this.options.definition,index:e,filters:Array.from(this.filterState.simpleFilters.values()),sorts:this.sortState.sorts});t.load(),this._pages[e]=t}return this._pages[e]}get totalPages(){return this._totalPages}serialize(){return Object.assign(Object.assign({},super.serialize()),{definition:this.options.definition.definition.name,limit:this.options.limit,filters:this.filterState.getSerializedFilters(),sorts:this.sortState.getSerializedSorts()})}async deserialize(e,t){await super.deserialize(e,t),this.suspendStateLoad=!0;try{this.options.limit=t.limit;const e=await this.connection.waitForSchemaModelDefinitionByName(t.definition);this.options.definition=e,this.sortState.setDefinition(e),this.filterState.setDefinition(e),this.filterState.hydrateFilters(t.filters||[]),this.sortState.hydrateSorts(t.sorts||[])}finally{this.suspendStateLoad=!1}}getColumns(){return(e=>{const t=(t,r)=>{var n;const i=null===(n=e.sortState.getSort(t))||void 0===n?void 0:n.direction;return i?`${r} ${i===be.ASC?"↑":"↓"}`:r};return[{key:nt.ID,display:Se.createElement(at,{label:t(nt.ID,it[nt.ID]),onClick:async()=>{const t=e.sortState.getSort(nt.ID);t?t.toggle():e.sortState.addSort(SimpleQuerySort.create(nt.ID))}}),noWrap:!0,shrink:!0},{key:nt.UPDATED_AT,display:Se.createElement(at,{label:t(nt.UPDATED_AT,it[nt.UPDATED_AT]),onClick:async()=>{const t=e.sortState.getSort(nt.UPDATED_AT);t?t.toggle():e.sortState.addSort(SimpleQuerySort.create(nt.UPDATED_AT))}}),noWrap:!0,shrink:!0,accessor:(e,t)=>Se.createElement(st,{name:nt.UPDATED_AT,cell:t.model.updated_at,row:t})},...d.map(e.definition.definition.belongsToIdVars,t=>({key:t.name,display:Se.createElement(pt,{variable:e.definition.definition.belongsToVars[t.relationship],type:e.definition.definition.belongsTo[t.relationship].foreignType,filterChanged:e=>{}}),noWrap:!0,shrink:!0,accessor:(r,n)=>Se.createElement(Dt,{variable_id:t,row:n,connection:e.connection})})),...d.map(e.definition.definition.attributes,t=>{var r;return{key:t.name,display:Se.createElement(pt,{variable:t,filter:e.filterState.getFilter(t.name),sortDirection:null===(r=e.sortState.getSort(t.name))||void 0===r?void 0:r.direction,onToggleSort:async()=>{const r=e.sortState.getSort(t.name);r?r.toggle():e.sortState.addSort(SimpleQuerySort.create(t.name))},filterChanged:async r=>{var n;r?e.filterState.setFilter(t.name,r):null===(n=e.filterState.getFilter(t.name))||void 0===n||n.delete()}}),noWrap:!0,shrink:!0,accessor:(e,r)=>Se.createElement(mt,{name:t.name,row:r})}})]})({definition:this.options.definition,connection:this.connection,sortState:this.sortState,filterState:this.filterState})}getSimpleName(){return`Query: ${this.options.definition.definition.label}`}getDirtyObjects(){return this._pages.flatMap(e=>(null==e?void 0:e.getDirtyObjects())||[])}},o=new WeakMap,l=new WeakMap,u=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=y[Symbol.metadata])&&void 0!==r?r:null):void 0;p=[(0,e.inject)(c)],h=[s.observable],m=[s.observable],f=[s.action],t(a,null,p,{kind:"accessor",name:"connStore",static:!1,private:!1,access:{has:e=>"connStore"in e,get:e=>e.connStore,set:(e,t)=>{e.connStore=t}},metadata:n},g,b),t(a,null,h,{kind:"accessor",name:"_totalPages",static:!1,private:!1,access:{has:e=>"_totalPages"in e,get:e=>e._totalPages,set:(e,t)=>{e._totalPages=t}},metadata:n},T,S),t(a,null,m,{kind:"accessor",name:"_pages",static:!1,private:!1,access:{has:e=>"_pages"in e,get:e=>e._pages,set:(e,t)=>{e._pages=t}},metadata:n},v,E),t(a,null,f,{kind:"method",name:"load",static:!1,private:!1,access:{has:e=>"load"in e,get:e=>e.load},metadata:n},null,_),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})();class SavedQueryEntity{constructor(e){this.saved=e}get id(){return this.saved.id}get name(){return this.saved.name}}let Ct=(()=>{var a,o,l;let u,d,p,h,m,f=e.AbstractStore,y=[],_=[],g=[],b=[],T=[];return a=class SavedQueryStore extends f{get connectionStore(){return n(this,o,"f")}set connectionStore(e){i(this,o,e,"f")}get _queries(){return n(this,l,"f")}set _queries(e){i(this,l,e,"f")}constructor(){super({name:"SAVED_QUERY_STORE",serializer:new e.LocalStorageSerializer({key:"SAVED_QUERY_STORE"})}),o.set(this,(r(this,y),r(this,_,void 0))),l.set(this,(r(this,g),r(this,b,void 0))),r(this,T),this._queries=[]}get queries(){return[...this._queries].sort((e,t)=>t.updated_at.localeCompare(e.updated_at))}serialize(){return{queries:this._queries}}async deserialize(e){this._queries=(null==e?void 0:e.queries)||[]}getSavedForQuery(e){var t,r,n;const i=null===(r=null===(t=e.options.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name,s=null===(n=e.connection)||void 0===n?void 0:n.id;return this.queries.filter(e=>e.query.definition===i&&e.query.connection_id===s)}getSavedEntitiesForConnection(e){return this.queries.filter(t=>t.query.connection_id===e).map(e=>new SavedQueryEntity(e))}async saveQuery(e,t){const r=(new Date).toISOString(),n={id:(0,ce.A)(),name:e,created_at:r,updated_at:r,query:t.serialize()};return this._queries.push(n),await this.save(),n}getByID(e){return this._queries.find(t=>t.id===e)||null}getSavedEntityByID(e){const t=this.getByID(e);return t?new SavedQueryEntity(t):null}async loadSavedQuery(e){const t=this.getByID(e);if(!t)return null;const r=new It({limit:t.query.limit});return await r.deserialize(this.connectionStore,t.query),r}async removeSavedQuery(e){this._queries=this._queries.filter(t=>t.id!==e),await this.save()}},o=new WeakMap,l=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=f[Symbol.metadata])&&void 0!==r?r:null):void 0;u=[(0,e.inject)(c)],d=[s.observable],p=[s.computed],h=[s.action],m=[s.action],t(a,null,u,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},_,g),t(a,null,d,{kind:"accessor",name:"_queries",static:!1,private:!1,access:{has:e=>"_queries"in e,get:e=>e._queries,set:(e,t)=>{e._queries=t}},metadata:n},b,T),t(a,null,p,{kind:"getter",name:"queries",static:!1,private:!1,access:{has:e=>"queries"in e,get:e=>e.queries},metadata:n},null,y),t(a,null,h,{kind:"method",name:"saveQuery",static:!1,private:!1,access:{has:e=>"saveQuery"in e,get:e=>e.saveQuery},metadata:n},null,y),t(a,null,m,{kind:"method",name:"removeSavedQuery",static:!1,private:!1,access:{has:e=>"removeSavedQuery"in e,get:e=>e.removeSavedQuery},metadata:n},null,y),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})(),Yt=(()=>{var s,a,o;let l,d,p=e.EntityDefinition,h=[],m=[],f=[],y=[];return s=class ConnectionEntityDefinition extends p{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}get savedQueryStore(){return n(this,o,"f")}set savedQueryStore(e){i(this,o,e,"f")}constructor(){super({type:u.CONNECTION,category:"DataBrowser",label:"Connection",icon:"database",iconColor:"cyan"}),a.set(this,r(this,h,void 0)),o.set(this,(r(this,m),r(this,f,void 0))),r(this,y),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>Object.assign(Object.assign({},e.name),{iconColor:e.color})})),this.registerComponent(new e.SimpleEntitySearchEngineComponent({label:"Simple",getEntities:async()=>this.connectionStore.connections})),this.registerComponent(new e.InlineTreePresenterComponent({loadChildrenAsNodesAreOpened:!0,cacheTreeEntities:!0,searchScope:e.SearchableTreeSearchScope.VISIBLE_ONLY})),this.registerComponent(new e.EntityCardsPresenterComponent),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SCHEMA_MODEL_DEFINITION,generateOptions:e=>({category:{label:"Models",icon:"cube"},descendants:e.schema_models.items})})),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SAVED_QUERY,generateOptions:e=>({category:{label:"Saved queries",icon:"bookmark"},descendants:this.savedQueryStore.getSavedEntitiesForConnection(e.id)})})),this.registerComponent(new e.EntityPanelComponent({label:"Connections",getEntities:()=>this.connectionStore.connections,additionalActions:[_e.ID]}))}matchEntity(e){if(e instanceof ye)return!0}getEntityUID(e){return e.id}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=p[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[(0,e.inject)(c)],d=[(0,e.inject)(Ct)],t(s,null,l,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},h,m),t(s,null,d,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},f,y),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})();class AbstractConnectionFactory{constructor(e){this.options=e}}var jt=h(15659),Ft=h(75972),Bt=h(5489);class ManualConnection extends ye{constructor(e,t){super(e),this.options=t}getConnection(){return p.Database.instance(this.options)}_serialize(){return this.options}async _deSerialize(e){this.options=e}get name(){return{simpleName:this.options.name}}getBackendClient(){let e=new URL(this.options.baseUrl);return new Ft.V4BackendClient({account_id:Bt.basename(e.pathname),endpoint:`${e.origin}`,client:(0,jt.createWebNetworkClient)({headers:{Authorization:`Bearer ${this.options.token}`}})})}}class APIConnectionForm extends e.FormModel{constructor(t){super(),this.addInput(new e.TextInput({name:"name",label:"Connection name",value:(null==t?void 0:t.name)||"Default"})),this.addInput(new e.TextInput({name:"base_url",label:"Base URL",value:null==t?void 0:t.base_url})),this.addInput(new e.TextInput({name:"api_token",label:"API Token",inputType:e.TextInputType.PASSWORD,value:null==t?void 0:t.api_token})),this.addInput(new e.SelectInput({name:"color",label:"Color",value:(null==t?void 0:t.color)||o,options:a.reduce((e,t)=>(e[t.key]=t.label,e),{})}))}generateConnection(e){const t=new ManualConnection(e,{baseUrl:this.value().base_url,token:this.value().api_token,name:this.value().name});return t.color=this.value().color,t}}let Rt=(()=>{var s,a;let o,l=AbstractConnectionFactory,c=[],u=[];return s=class ManualConnectionFactory extends l{get dialogStore(){return n(this,a,"f")}set dialogStore(e){i(this,a,e,"f")}constructor(){super({key:"MANUAL_CONNECTION",label:"API Token Connection"}),a.set(this,r(this,c,void 0)),r(this,u)}async generateConnectionFromUI(){let t=await this.dialogStore.showDialog(new e.FormDialogDirective({form:new APIConnectionForm,title:"Create connection",handler:async()=>{}}));return t?t.form.generateConnection(this):null}generateConnection(){return new ManualConnection(this)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.DialogStore2)],t(s,null,o,{kind:"accessor",name:"dialogStore",static:!1,private:!1,access:{has:e=>"dialogStore"in e,get:e=>e.dialogStore,set:(e,t)=>{e.dialogStore=t}},metadata:n},c,u),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),Ht=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class ConnectionFactoryEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.CONNECTION_FACTORY,category:"DataBrowser",label:"Connection type",icon:"database",iconColor:"blue"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.options.label})})),this.registerComponent(new e.SimpleEntitySearchEngineComponent({label:"Simple",getEntities:async()=>this.connectionStore.connectionFactories}))}matchEntity(e){if(e instanceof AbstractConnectionFactory)return!0}getEntityUID(e){return e.options.key}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),Ut=(()=>{var s,a;let o,l=e.EntityAction,d=[],p=[];return s=class RemoveConnectionAction extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Remove connection",icon:"trash",target:u.CONNECTION}),a.set(this,r(this,d,void 0)),r(this,p)}async fireEvent(e){e.targetEntity.remove()}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="REMOVE_CONNECTION",s})(),Wt=(()=>{var s,o,l;let d,p,h=e.EntityAction,m=[],f=[],y=[],_=[];return s=class SetConnectionColorAction extends h{get comboStore(){return n(this,o,"f")}set comboStore(e){i(this,o,e,"f")}get connectionStore(){return n(this,l,"f")}set connectionStore(e){i(this,l,e,"f")}constructor(){super({id:s.ID,name:"Set connection color",icon:"palette",target:u.CONNECTION}),o.set(this,r(this,m,void 0)),l.set(this,(r(this,f),r(this,y,void 0))),r(this,_)}async fireEvent(t){const r=(await this.comboStore.show(new e.SimpleComboBoxDirective({title:"Connection color",event:t.position,items:a.map(e=>({key:e.key,title:e.label,icon:"circle",color:e.key}))}))).getSelectedItem();(null==r?void 0:r.key)&&(t.targetEntity.color=r.key,this.connectionStore.save())}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},o=new WeakMap,l=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=h[Symbol.metadata])&&void 0!==r?r:null):void 0;d=[(0,e.inject)(e.ComboBoxStore2)],p=[(0,e.inject)(c)],t(s,null,d,{kind:"accessor",name:"comboStore",static:!1,private:!1,access:{has:e=>"comboStore"in e,get:e=>e.comboStore,set:(e,t)=>{e.comboStore=t}},metadata:n},m,f),t(s,null,p,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},y,_),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="SET_CONNECTION_COLOR",s})();const Vt=(0,He.observer)(t=>{const r=e.ioc.get(e.System),n=t.page.loading?[]:t.page.asRows();return Se.createElement(zt.Container,null,Se.createElement(e.TableWidget,{onContextMenu:(e,t)=>{r.getDefinition(u.SCHEMA_MODEL_OBJECT).showContextMenuForEntity(t.model,e)},rows:n,columns:t.query.getColumns()}),t.page.loading?Se.createElement(zt.RowsLoading,null,Se.createElement(e.LoadingPanelWidget,{loading:!0},()=>null)):0===n.length?Se.createElement(zt.EmptyState,null,"No results for this query"):null)});var zt;!function(t){t.Container=e.themed.div`
|
|
152
|
+
`}(Ot||(Ot={}));let kt=(()=>{var e,a,o;let l,c=y.BaseObserver,u=[],p=[];return e=class SimpleQuerySortState extends c{get sorts(){return n(this,a,"f")}set sorts(e){i(this,a,e,"f")}get definition(){return n(this,o,"f")}set definition(e){i(this,o,e,"f")}constructor(e){super(),a.set(this,r(this,u,void 0)),o.set(this,r(this,p)),this.sorts=[],this.definition=e}setDefinition(e){var t,r,n;const i=(null===(r=null===(t=this.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name)!==(null===(n=null==e?void 0:e.definition)||void 0===n?void 0:n.name);return this.definition=e,i&&this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),i}getSort(e){return this.sorts.find(t=>t.field===e)}addSort(e){if(!(null==e?void 0:e.field))return!1;if(this.getSort(e.field))return!1;let t=e.registerListener({changed:()=>{this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)})},removeRequested:()=>{t(),this.sorts=this.sorts.filter(t=>t!==e),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)})}});return this.sorts=[...this.sorts,e],this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}moveSortBefore(e,t){if(!e||!t||e===t)return!1;const r=this.sorts.findIndex(t=>t.field===e),n=this.sorts.findIndex(e=>e.field===t);if(r<0||n<0)return!1;const i=[...this.sorts],[s]=i.splice(r,1),a=i.findIndex(e=>e.field===t),o=r<n?a+1:a;return i.splice(o,0,s),this.sorts=i,this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}setSorts(e){const t=this.normalizeSorts(e);return[...this.sorts].forEach(e=>e.remove()),this.sorts=[],t.forEach(e=>this.addSort(e)),!0}hydrateSorts(e=[]){const t=(e||[]).map(e=>SimpleQuerySort.deserialize(e));return this.setSorts(t)}getSerializedSorts(){return this.sorts.map(e=>e.serialize())}getSortableFields(){const e=this.definition;if(!(null==e?void 0:e.definition))return[];const t=d.map(e.definition.attributes,e=>({key:e.name,label:e.label||e.name}));return[{key:nt.ID,label:it[nt.ID]},{key:nt.UPDATED_AT,label:it[nt.UPDATED_AT]},...t]}normalizeSorts(e){const t=new Set;return(e||[]).filter(e=>!!(null==e?void 0:e.field)&&((e.direction===be.ASC||e.direction===be.DESC)&&(!t.has(e.field)&&(t.add(e.field),!0))))}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=c[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[s.observable],t(e,null,l,{kind:"accessor",name:"sorts",static:!1,private:!1,access:{has:e=>"sorts"in e,get:e=>e.sorts,set:(e,t)=>{e.sorts=t}},metadata:n},u,p),n&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),e})();var Nt;class SimpleQueryFilterState extends y.BaseObserver{get definition(){return n(this,Nt,"f")}set definition(e){i(this,Nt,e,"f")}constructor(e){super(),Nt.set(this,void 0),this.simpleFilters=new Map,this.definition=e.definition,this.typeEngine=e.typeEngine}get filters(){return Array.from(this.simpleFilters.values())}clear(){this.filters.forEach(e=>e.delete())}setDefinition(e){var t,r,n;const i=(null===(r=null===(t=this.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name)!==(null===(n=null==e?void 0:e.definition)||void 0===n?void 0:n.name);this.definition=e;const s=this.simpleFilters.size>0;return i&&this.clear(),i&&!s&&this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),i||s}getFilterableFields(){var e;return(null===(e=this.definition)||void 0===e?void 0:e.definition)?this.definition.getFilterableFields(this.typeEngine):[]}getActiveFilters(){return Array.from(this.simpleFilters.entries()).map(([e,t])=>({variable:e,filter:t}))}getFilter(e){const t=this.resolveAttribute(e);return t?this.simpleFilters.get(t):void 0}getSerializedFilters(){return this.filters.map(e=>e.serialize())}hydrateFilters(e){this.clear();const t=this.definition;(null==t?void 0:t.definition)&&(e||[]).forEach(e=>{if(!SimpleFilter.canDeserialize(e))return;const r=d.find(d.values(t.definition.attributes),t=>t.name===e.variable);r&&this.addFilter(r,SimpleFilter.deserialize(r,e))})}setFilter(e,t){const r=this.resolveAttribute(e);return!!r&&this.addFilter(r,t)}async setupFilterForField(e,t){const r=this.resolveAttribute(e);if(!r)return!1;const n=this.typeEngine.getHandler(r.type);if(!(null==n?void 0:n.setupFilter))return!1;const i=this.simpleFilters.get(r),s=await n.setupFilter({variable:r,filter:i,position:t});return!!s&&this.addFilter(r,s)}addFilter(e,t){const r=this.simpleFilters.get(e);if(r&&r!==t&&r.delete(),r===t)return this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0;let n=t.registerListener({removeRequested:()=>{n(),this.simpleFilters.get(e)===t&&(this.simpleFilters.delete(e),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}))}});return this.simpleFilters.set(e,t),this.iterateListeners(e=>{var t;return null===(t=e.changed)||void 0===t?void 0:t.call(e)}),!0}resolveAttribute(e){var t;if(null===(t=this.definition)||void 0===t?void 0:t.definition)return d.find(d.values(this.definition.definition.attributes),t=>t.name===e)}}Nt=new WeakMap;let It=(()=>{var a,o,l,u;let p,h,m,f,y=AbstractSerializableQuery,_=[],g=[],b=[],T=[],S=[],v=[],E=[];return a=class SimpleQuery extends y{get connStore(){return n(this,o,"f")}set connStore(e){i(this,o,e,"f")}get _totalPages(){return n(this,l,"f")}set _totalPages(e){i(this,l,e,"f")}get _pages(){return n(this,u,"f")}set _pages(e){i(this,u,e,"f")}constructor(t={}){var n;super("simple",null===(n=t.definition)||void 0===n?void 0:n.connection),this.options=(r(this,_),t),o.set(this,r(this,g,void 0)),l.set(this,(r(this,b),r(this,T,void 0))),u.set(this,(r(this,S),r(this,v,void 0))),this.sortState=r(this,E),this._totalPages=0,this._pages=[],this.sortState=new kt(t.definition),this.filterState=new SimpleQueryFilterState({definition:t.definition,typeEngine:e.ioc.get(rt)}),this.suspendStateLoad=!1,this.scheduleLoad=d.debounce(()=>{this.suspendStateLoad||this.load()},10,{trailing:!0,leading:!1});const i=()=>{this.suspendStateLoad||this.scheduleLoad()};this.sortState.registerListener({changed:()=>{i()}}),this.filterState.registerListener({changed:()=>{i()}}),t.definition&&0===this.sortState.sorts.length&&this.sortState.addSort(SimpleQuerySort.create(nt.UPDATED_AT,be.DESC))}matches(e){return e instanceof a&&d.isEqual(this.serialize(),e.serialize())}async load(){this._pages=[];const e=await this.options.definition.getCollection(),t=Te(e.all(),Array.from(this.filterState.simpleFilters.values()),this.sortState.sorts),r=await e.adapter.doApiQuery(t);this._totalPages=Math.ceil(r.total/this.options.limit)}getPage(e){if(!this._pages[e]){const t=new SimplePage({offset:e*this.options.limit,limit:this.options.limit,definition:this.options.definition,index:e,filters:Array.from(this.filterState.simpleFilters.values()),sorts:this.sortState.sorts});t.load(),this._pages[e]=t}return this._pages[e]}get totalPages(){return this._totalPages}serialize(){return Object.assign(Object.assign({},super.serialize()),{definition:this.options.definition.definition.name,limit:this.options.limit,filters:this.filterState.getSerializedFilters(),sorts:this.sortState.getSerializedSorts()})}async deserialize(e,t){await super.deserialize(e,t),this.suspendStateLoad=!0;try{this.options.limit=t.limit;const e=await this.connection.waitForSchemaModelDefinitionByName(t.definition);this.options.definition=e,this.sortState.setDefinition(e),this.filterState.setDefinition(e),this.filterState.hydrateFilters(t.filters||[]),this.sortState.hydrateSorts(t.sorts||[])}finally{this.suspendStateLoad=!1}}getColumns(){return(e=>{const t=(t,r)=>{var n;const i=null===(n=e.sortState.getSort(t))||void 0===n?void 0:n.direction;return i?`${r} ${i===be.ASC?"↑":"↓"}`:r};return[{key:nt.ID,display:Se.createElement(at,{label:t(nt.ID,it[nt.ID]),onClick:async()=>{const t=e.sortState.getSort(nt.ID);t?t.toggle():e.sortState.addSort(SimpleQuerySort.create(nt.ID))}}),noWrap:!0,shrink:!0},{key:nt.UPDATED_AT,display:Se.createElement(at,{label:t(nt.UPDATED_AT,it[nt.UPDATED_AT]),onClick:async()=>{const t=e.sortState.getSort(nt.UPDATED_AT);t?t.toggle():e.sortState.addSort(SimpleQuerySort.create(nt.UPDATED_AT))}}),noWrap:!0,shrink:!0,accessor:(e,t)=>Se.createElement(st,{name:nt.UPDATED_AT,cell:t.model.updated_at,row:t})},...d.map(e.definition.definition.belongsToIdVars,t=>({key:t.name,display:Se.createElement(pt,{variable:e.definition.definition.belongsToVars[t.relationship],type:e.definition.definition.belongsTo[t.relationship].foreignType,filterChanged:e=>{}}),noWrap:!0,shrink:!0,accessor:(r,n)=>Se.createElement(Dt,{variable_id:t,row:n,connection:e.connection})})),...d.map(e.definition.definition.attributes,t=>{var r;return{key:t.name,display:Se.createElement(pt,{variable:t,filter:e.filterState.getFilter(t.name),sortDirection:null===(r=e.sortState.getSort(t.name))||void 0===r?void 0:r.direction,onToggleSort:async()=>{const r=e.sortState.getSort(t.name);r?r.toggle():e.sortState.addSort(SimpleQuerySort.create(t.name))},filterChanged:async r=>{var n;r?e.filterState.setFilter(t.name,r):null===(n=e.filterState.getFilter(t.name))||void 0===n||n.delete()}}),noWrap:!0,shrink:!0,accessor:(e,r)=>Se.createElement(mt,{name:t.name,row:r})}})]})({definition:this.options.definition,connection:this.connection,sortState:this.sortState,filterState:this.filterState})}getSimpleName(){return`Query: ${this.options.definition.definition.label}`}getDirtyObjects(){return this._pages.flatMap(e=>(null==e?void 0:e.getDirtyObjects())||[])}},o=new WeakMap,l=new WeakMap,u=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=y[Symbol.metadata])&&void 0!==r?r:null):void 0;p=[(0,e.inject)(c)],h=[s.observable],m=[s.observable],f=[s.action],t(a,null,p,{kind:"accessor",name:"connStore",static:!1,private:!1,access:{has:e=>"connStore"in e,get:e=>e.connStore,set:(e,t)=>{e.connStore=t}},metadata:n},g,b),t(a,null,h,{kind:"accessor",name:"_totalPages",static:!1,private:!1,access:{has:e=>"_totalPages"in e,get:e=>e._totalPages,set:(e,t)=>{e._totalPages=t}},metadata:n},T,S),t(a,null,m,{kind:"accessor",name:"_pages",static:!1,private:!1,access:{has:e=>"_pages"in e,get:e=>e._pages,set:(e,t)=>{e._pages=t}},metadata:n},v,E),t(a,null,f,{kind:"method",name:"load",static:!1,private:!1,access:{has:e=>"load"in e,get:e=>e.load},metadata:n},null,_),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})();class SavedQueryEntity{constructor(e){this.saved=e}get id(){return this.saved.id}get name(){return this.saved.name}}let Ct=(()=>{var a,o,l;let u,d,p,h,m,f=e.AbstractStore,y=[],_=[],g=[],b=[],T=[];return a=class SavedQueryStore extends f{get connectionStore(){return n(this,o,"f")}set connectionStore(e){i(this,o,e,"f")}get _queries(){return n(this,l,"f")}set _queries(e){i(this,l,e,"f")}constructor(){super({name:"SAVED_QUERY_STORE",serializer:new e.LocalStorageSerializer({key:"SAVED_QUERY_STORE"})}),o.set(this,(r(this,y),r(this,_,void 0))),l.set(this,(r(this,g),r(this,b,void 0))),r(this,T),this._queries=[]}get queries(){return[...this._queries].sort((e,t)=>t.updated_at.localeCompare(e.updated_at))}serialize(){return{queries:this._queries}}async deserialize(e){this._queries=(null==e?void 0:e.queries)||[]}getSavedForQuery(e){var t,r,n;const i=null===(r=null===(t=e.options.definition)||void 0===t?void 0:t.definition)||void 0===r?void 0:r.name,s=null===(n=e.connection)||void 0===n?void 0:n.id;return this.queries.filter(e=>e.query.definition===i&&e.query.connection_id===s)}getSavedEntitiesForConnection(e){return this.queries.filter(t=>t.query.connection_id===e).map(e=>new SavedQueryEntity(e))}async saveQuery(e,t){const r=(new Date).toISOString(),n={id:(0,ce.A)(),name:e,created_at:r,updated_at:r,query:t.serialize()};return this._queries.push(n),await this.save(),n}getByID(e){return this._queries.find(t=>t.id===e)||null}getSavedEntityByID(e){const t=this.getByID(e);return t?new SavedQueryEntity(t):null}async loadSavedQuery(e){const t=this.getByID(e);if(!t)return null;const r=new It({limit:t.query.limit});return await r.deserialize(this.connectionStore,t.query),r}async removeSavedQuery(e){this._queries=this._queries.filter(t=>t.id!==e),await this.save()}},o=new WeakMap,l=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=f[Symbol.metadata])&&void 0!==r?r:null):void 0;u=[(0,e.inject)(c)],d=[s.observable],p=[s.computed],h=[s.action],m=[s.action],t(a,null,u,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},_,g),t(a,null,d,{kind:"accessor",name:"_queries",static:!1,private:!1,access:{has:e=>"_queries"in e,get:e=>e._queries,set:(e,t)=>{e._queries=t}},metadata:n},b,T),t(a,null,p,{kind:"getter",name:"queries",static:!1,private:!1,access:{has:e=>"queries"in e,get:e=>e.queries},metadata:n},null,y),t(a,null,h,{kind:"method",name:"saveQuery",static:!1,private:!1,access:{has:e=>"saveQuery"in e,get:e=>e.saveQuery},metadata:n},null,y),t(a,null,m,{kind:"method",name:"removeSavedQuery",static:!1,private:!1,access:{has:e=>"removeSavedQuery"in e,get:e=>e.removeSavedQuery},metadata:n},null,y),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})(),Yt=(()=>{var s,a,o;let l,d,p=e.EntityDefinition,h=[],m=[],f=[],y=[];return s=class ConnectionEntityDefinition extends p{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}get savedQueryStore(){return n(this,o,"f")}set savedQueryStore(e){i(this,o,e,"f")}constructor(){super({type:u.CONNECTION,category:"DataBrowser",label:"Connection",icon:"database",iconColor:"cyan"}),a.set(this,r(this,h,void 0)),o.set(this,(r(this,m),r(this,f,void 0))),r(this,y),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>Object.assign(Object.assign({},e.name),{iconColor:e.color})})),this.registerComponent(new e.SimpleEntitySearchEngineComponent({label:"Simple",getEntities:async()=>this.connectionStore.connections})),this.registerComponent(new e.InlineTreePresenterComponent({loadChildrenAsNodesAreOpened:!0,cacheTreeEntities:!0,searchScope:e.SearchableTreeSearchScope.VISIBLE_ONLY})),this.registerComponent(new e.EntityCardsPresenterComponent),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SCHEMA_MODEL_DEFINITION,generateOptions:e=>({category:{label:"Models",icon:"cube"},descendants:e.schema_models.items})})),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SAVED_QUERY,generateOptions:e=>({category:{label:"Saved queries",icon:"bookmark"},descendants:this.savedQueryStore.getSavedEntitiesForConnection(e.id)})})),this.registerComponent(new e.EntityPanelComponent({label:"Connections",getEntities:()=>this.connectionStore.connections,additionalActions:[_e.ID]}))}matchEntity(e){if(e instanceof ye)return!0}getEntityUID(e){return e.id}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=p[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[(0,e.inject)(c)],d=[(0,e.inject)(Ct)],t(s,null,l,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},h,m),t(s,null,d,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},f,y),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})();class AbstractConnectionFactory{constructor(e){this.options=e}}var jt=h(15659),Ft=h(75972),Bt=h(5489);class ManualConnection extends ye{constructor(e,t){super(e),this.options=t}getConnection(){return p.Database.instance(this.options)}_serialize(){return this.options}async _deSerialize(e){this.options=e}get name(){return{simpleName:this.options.name}}getBackendClient(){let e=new URL(this.options.baseUrl);return new Ft.V4BackendClient({account_id:Bt.basename(e.pathname),endpoint:`${e.origin}`,client:(0,jt.createWebNetworkClient)({headers:{Authorization:`Bearer ${this.options.token}`}})})}}class APIConnectionForm extends e.FormModel{constructor(t){super(),this.addInput(new e.TextInput({name:"name",label:"Connection name",value:(null==t?void 0:t.name)||"Default"})),this.addInput(new e.TextInput({name:"base_url",label:"Base URL",value:null==t?void 0:t.base_url})),this.addInput(new e.TextInput({name:"api_token",label:"API Token",inputType:e.TextInputType.PASSWORD,value:null==t?void 0:t.api_token})),this.addInput(new e.SelectInput({name:"color",label:"Color",value:(null==t?void 0:t.color)||o,options:a.reduce((e,t)=>(e[t.key]=t.label,e),{})}))}generateConnection(e){const t=new ManualConnection(e,{baseUrl:this.value().base_url,token:this.value().api_token,name:this.value().name});return t.color=this.value().color,t}}let Rt=(()=>{var s,a;let o,l=AbstractConnectionFactory,c=[],u=[];return s=class ManualConnectionFactory extends l{get dialogStore(){return n(this,a,"f")}set dialogStore(e){i(this,a,e,"f")}constructor(){super({key:"MANUAL_CONNECTION",label:"API Token Connection"}),a.set(this,r(this,c,void 0)),r(this,u)}async generateConnectionFromUI(){let t=await this.dialogStore.showDialog(new e.FormDialogDirective({form:new APIConnectionForm,title:"Create connection",handler:async()=>{}}));return t?t.form.generateConnection(this):null}generateConnection(){return new ManualConnection(this)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.DialogStore2)],t(s,null,o,{kind:"accessor",name:"dialogStore",static:!1,private:!1,access:{has:e=>"dialogStore"in e,get:e=>e.dialogStore,set:(e,t)=>{e.dialogStore=t}},metadata:n},c,u),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),Ht=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class ConnectionFactoryEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.CONNECTION_FACTORY,category:"DataBrowser",label:"Connection type",icon:"database",iconColor:"blue"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.options.label})})),this.registerComponent(new e.SimpleEntitySearchEngineComponent({label:"Simple",getEntities:async()=>this.connectionStore.connectionFactories}))}matchEntity(e){if(e instanceof AbstractConnectionFactory)return!0}getEntityUID(e){return e.options.key}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),Ut=(()=>{var s,a;let o,l=e.EntityAction,d=[],p=[];return s=class RemoveConnectionAction extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Remove connection",icon:"trash",target:u.CONNECTION}),a.set(this,r(this,d,void 0)),r(this,p)}async fireEvent(e){e.targetEntity.remove()}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="REMOVE_CONNECTION",s})(),Wt=(()=>{var s,o,l;let d,p,h=e.EntityAction,m=[],f=[],y=[],_=[];return s=class SetConnectionColorAction extends h{get comboStore(){return n(this,o,"f")}set comboStore(e){i(this,o,e,"f")}get connectionStore(){return n(this,l,"f")}set connectionStore(e){i(this,l,e,"f")}constructor(){super({id:s.ID,name:"Set connection color",icon:"palette",target:u.CONNECTION}),o.set(this,r(this,m,void 0)),l.set(this,(r(this,f),r(this,y,void 0))),r(this,_)}async fireEvent(t){const r=(await this.comboStore.show(new e.SimpleComboBoxDirective({title:"Connection color",event:t.position,items:a.map(e=>({key:e.key,title:e.label,icon:"circle",color:e.key}))}))).getSelectedItem();(null==r?void 0:r.key)&&(t.targetEntity.color=r.key,this.connectionStore.save())}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},o=new WeakMap,l=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=h[Symbol.metadata])&&void 0!==r?r:null):void 0;d=[(0,e.inject)(e.ComboBoxStore2)],p=[(0,e.inject)(c)],t(s,null,d,{kind:"accessor",name:"comboStore",static:!1,private:!1,access:{has:e=>"comboStore"in e,get:e=>e.comboStore,set:(e,t)=>{e.comboStore=t}},metadata:n},m,f),t(s,null,p,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},y,_),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="SET_CONNECTION_COLOR",s})();const Vt=(0,He.observer)(t=>{const r=e.ioc.get(e.System),n=t.page.loading?[]:t.page.asRows(),i=(0,Se.useRef)(null);return(0,Se.useEffect)(()=>{i.current&&(i.current.scrollTop!==t.scrollTop&&(i.current.scrollTop=t.scrollTop),i.current.scrollLeft!==t.scrollLeft&&(i.current.scrollLeft=t.scrollLeft))},[t.scrollLeft,t.scrollTop]),Se.createElement(zt.Container,{ref:i,onScroll:e=>{const r=e.currentTarget;t.onScroll({top:r.scrollTop,left:r.scrollLeft})}},Se.createElement(e.TableWidget,{onContextMenu:(e,t)=>{r.getDefinition(u.SCHEMA_MODEL_OBJECT).showContextMenuForEntity(t.model,e)},rows:n,columns:t.query.getColumns()}),t.page.loading?Se.createElement(zt.RowsLoading,null,Se.createElement(e.LoadingPanelWidget,{loading:!0},()=>null)):0===n.length?Se.createElement(zt.EmptyState,null,"No results for this query"):null)});var zt;!function(t){t.Container=e.themed.div`
|
|
153
153
|
position: relative;
|
|
154
154
|
overflow: auto;
|
|
155
155
|
height: 100%;
|
|
@@ -253,6 +253,6 @@
|
|
|
253
253
|
position: absolute;
|
|
254
254
|
width: 100%;
|
|
255
255
|
height: 100%;
|
|
256
|
-
`}(or||(or={}));const lr=(0,He.observer)(t=>{const[r,n]=(0,Se.useState)(null),[i,a]=(0,Se.useState)(!1),o=(0,Se.useRef)(null),l=(0,Se.useRef)(null),c=e=>{o.current=e,n(e)};(0,Se.useEffect)(()=>{t.model.query&&t.model.query.load()},[t.model.query]),(0,Se.useEffect)(()=>(0,s.autorun)(()=>{var e,r;if(t.model.query){const n=t.model.query.getPage(t.model.current_page),i=o.current;if(!i)return c(n),void a(!!(null==n?void 0:n.loading));if(n===i)return void a(!!n.loading);if(!n.loading)return null===(e=l.current)||void 0===e||e.call(l),l.current=null,c(n),void a(!1);a(!0),null===(r=l.current)||void 0===r||r.call(l),l.current=(0,s.autorun)(()=>{var e;n.loading||(null===(e=l.current)||void 0===e||e.call(l),l.current=null,c(n),a(!1))})}}),[t.model.query]),(0,Se.useEffect)(()=>()=>{var e;null===(e=l.current)||void 0===e||e.call(l),l.current=null},[]);const u=r||(t.model.query?t.model.query.getPage(t.model.current_page):null);return Se.createElement(e.LoadingPanelWidget,{loading:!t.model.query||!u},()=>Se.createElement(or.Container,null,Se.createElement(e.BorderLayoutWidget,{top:Se.createElement(sr,{query:t.model.query,current_page:u,loading:i,onLoadSavedQuery:async e=>{await t.model.loadSavedQuery(e)},goToPage:e=>{t.model.current_page=e}}),bottom:Se.createElement(sr,{query:t.model.query,current_page:u,loading:i,onLoadSavedQuery:async e=>{await t.model.loadSavedQuery(e)},goToPage:e=>{t.model.current_page=e}})},Se.createElement(Vt,{query:t.model.query,page:u}))))});let cr=(()=>{var a,o,l,u;let d,p,h,m=e.ReactorPanelModel,f=[],y=[],_=[],g=[],b=[],T=[];return a=class QueryPanelModel extends m{get connStore(){return n(this,o,"f")}set connStore(e){i(this,o,e,"f")}get query(){return n(this,l,"f")}set query(e){i(this,l,e,"f")}get current_page(){return n(this,u,"f")}set current_page(e){i(this,u,e,"f")}constructor(e){super(QueryPanelFactory.TYPE),o.set(this,r(this,f,void 0)),l.set(this,(r(this,y),r(this,_,void 0))),u.set(this,(r(this,g),r(this,b,void 0))),r(this,T),this.setExpand(!0,!0),this.query=e,this.current_page=0}isSerializable(){return this.query instanceof AbstractSerializableQuery}toArray(){return Object.assign(Object.assign({},super.toArray()),{current_page:this.current_page})}fromArray(e,t){super.fromArray(e,t),this.current_page=e.current_page||0}encodeEntities(){return{query:this.query}}decodeEntities(e){this.query=e.query}async loadSavedQuery(t){const r=await e.ioc.get(Ct).loadSavedQuery(t);r&&(this.current_page=0,this.query=r,await r.load())}},o=new WeakMap,l=new WeakMap,u=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=m[Symbol.metadata])&&void 0!==r?r:null):void 0;d=[(0,e.inject)(c)],p=[s.observable],h=[s.observable],t(a,null,d,{kind:"accessor",name:"connStore",static:!1,private:!1,access:{has:e=>"connStore"in e,get:e=>e.connStore,set:(e,t)=>{e.connStore=t}},metadata:n},f,y),t(a,null,p,{kind:"accessor",name:"query",static:!1,private:!1,access:{has:e=>"query"in e,get:e=>e.query,set:(e,t)=>{e.query=t}},metadata:n},_,g),t(a,null,h,{kind:"accessor",name:"current_page",static:!1,private:!1,access:{has:e=>"current_page"in e,get:e=>e.current_page,set:(e,t)=>{e.current_page=t}},metadata:n},b,T),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})();class QueryPanelFactory extends SharedConnectionPanelFactory{constructor(){super({icon:"table",color:"rgb(0,192,255)",name:"Query",allowManualCreation:!1,isMultiple:!0,fullscreen:!1,type:QueryPanelFactory.TYPE,category:"Databrowser"})}matchesModel(e,t){return e.query.matches(t.query)}getSimpleName(e){var t;return null===(t=e.query)||void 0===t?void 0:t.getSimpleName()}getConnection(e){var t;return(null===(t=e.query)||void 0===t?void 0:t.connection)||null}_generateModel(){return new cr(null)}generatePanelContent(e){return Se.createElement(lr,{key:e.model.id,model:e.model})}}QueryPanelFactory.TYPE="query";let ur=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class QuerySchemaModelAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Query schema model",icon:"search",target:u.SCHEMA_MODEL_DEFINITION}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new cr(new It({definition:e.targetEntity,limit:30})))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="QUERY_SCHEMA_MODEL",s})(),dr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class SchemaModelDefinitionEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.SCHEMA_MODEL_DEFINITION,category:"DataBrowser",label:"Schema model definition",icon:"cube",iconColor:"mediumpurple"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.definition.label,complexName:e.definition.name})})),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SCHEMA_MODEL_INDEX,generateOptions:e=>({category:{label:"Indexes",icon:"search",openDefault:!1},descendants:e.indexes})})),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({connection_id:e.connection.id,type:e.definition.name}),decode:async e=>(await this.connectionStore.waitForReadyForConnection(e.connection_id)).waitForSchemaModelDefinitionByName(e.type)})),this.registerComponent(new e.InlineTreePresenterComponent({loadChildrenAsNodesAreOpened:!0,cacheTreeEntities:!0,augmentTreeNodeProps:()=>({openOnSingleClick:!1})})),this.registerComponent(new e.SimpleParentEntitySearchEngine({label:"Simple",type:u.CONNECTION,getEntities:async e=>e.parameters.parent.schema_models.items})),this.registerComponent(new e.EntityActionHandlerComponent(ur.ID))}matchEntity(e){if(e instanceof le)return!0}getEntityUID(e){return e.definition.name}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),pr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class QueryEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.QUERY,category:"DataBrowser",label:"Query",icon:"search",iconColor:"red"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>e.serialize(),decode:async e=>{if("simple"===e.type){let t=new It;return await t.deserialize(this.connectionStore,e),t}}}))}matchEntity(e){if(e instanceof AbstractSerializableQuery)return!0}getEntityUID(e){return e.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),hr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class CreateModelAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Create schema model",icon:"search",target:u.SCHEMA_MODEL_DEFINITION}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new ModelPanelModel({definition:e.targetEntity,model:await e.targetEntity.generateNewModelObject()}))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="CREATE_SCHEMA_MODEL",s})(),mr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class SchemaModelObjectEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.SCHEMA_MODEL_OBJECT,category:"DataBrowser",label:"Schema model",icon:"cube",iconColor:"mediumpurple"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.data.display,complexName:e.definition.definition.label})})),this.registerComponent(new e.SimpleParentEntitySearchEngine({label:"Label",type:u.SCHEMA_MODEL_DEFINITION,filterResultsWithMatcher:!1,getEntities:async e=>e.value?await e.parameters.parent.search(e.value):[]})),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({connection_id:e.definition.connection.id,type:e.definition.definition.name,id:e.model.id}),decode:async e=>{let t=await this.connectionStore.waitForReadyForConnection(e.connection_id),r=await t.waitForSchemaModelDefinitionByName(e.type);return await r.resolve(e.id)}})),this.registerComponent(new e.InlineTreePresenterComponent)}matchEntity(e){if(e instanceof f)return!0}getEntityUID(e){return e.model.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),fr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class ViewSchemaModelAsJsonAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"View schema model as JSON",icon:"eye",target:u.SCHEMA_MODEL_OBJECT}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new qe({definition:e.targetEntity.definition,model:e.targetEntity}))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="VIEW_SCHEMA_MODEL_AS_JSON",s})();class SchemaModelIndexDefinition extends e.EntityDefinition{constructor(){super({type:u.SCHEMA_MODEL_INDEX,category:"DataBrowser",label:"Schema model index",icon:"search",iconColor:"cyan"}),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.index.name,complexName:e.index.type})})),this.registerComponent(new e.InlineTreePresenterComponent)}matchEntity(e){if(e instanceof IndexModel)return!0}getEntityUID(e){return`${e.definition.definition.media}-${e.index.name}`}}let yr=(()=>{var s,a,o;let l,c,d=e.EntityAction,p=[],h=[],m=[],f=[];return s=class OpenSavedQueryAction extends d{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}get savedQueryStore(){return n(this,o,"f")}set savedQueryStore(e){i(this,o,e,"f")}constructor(){super({id:s.ID,name:"Open saved query",icon:"play",target:u.SAVED_QUERY}),a.set(this,r(this,p,void 0)),o.set(this,(r(this,h),r(this,m,void 0))),r(this,f)}async fireEvent(e){const t=await this.savedQueryStore.loadSavedQuery(e.targetEntity.id);t&&(await t.load(),this.workspaceStore.addModel(new cr(t)))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=d[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[(0,e.inject)(e.WorkspaceStore)],c=[(0,e.inject)(Ct)],t(s,null,l,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},p,h),t(s,null,c,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},m,f),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="OPEN_SAVED_QUERY",s})(),_r=(()=>{var s,a;let o,l=e.EntityDefinition,c=[],d=[];return s=class SavedQueryEntityDefinition extends l{get savedQueryStore(){return n(this,a,"f")}set savedQueryStore(e){i(this,a,e,"f")}constructor(){super({type:u.SAVED_QUERY,category:"DataBrowser",label:"Saved query",icon:"bookmark",iconColor:"gold"}),a.set(this,r(this,c,void 0)),r(this,d),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.saved.name,complexName:e.saved.query.definition,tags:["saved"]})})),this.registerComponent(new e.InlineTreePresenterComponent),this.registerComponent(new e.EntityCardsPresenterComponent),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({id:e.id}),decode:async e=>this.savedQueryStore.getSavedEntityByID(e.id)})),this.registerComponent(new e.EntityActionHandlerComponent(yr.ID))}matchEntity(e){return e instanceof SavedQueryEntity}getEntityUID(e){return e.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(Ct)],t(s,null,o,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),gr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class RemoveSavedQueryAction extends l{get savedQueryStore(){return n(this,a,"f")}set savedQueryStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Delete saved query",icon:"trash",target:u.SAVED_QUERY}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){await this.savedQueryStore.removeSavedQuery(e.targetEntity.id)}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(Ct)],t(s,null,o,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="REMOVE_SAVED_QUERY",s})();class DataBrowserModule extends e.AbstractReactorModule{constructor(){super({name:"Data Browser"})}register(t){const r=t.get(e.System),n=t.get(e.ActionStore),i=t.get(e.WorkspaceStore);let s=new c;var a;t.bind(rt).toConstantValue(new rt),s.registerConnectionFactory(new Rt),n.registerAction(new _e),n.registerAction(new Ut),n.registerAction(new Wt),n.registerAction(new ur),n.registerAction(new hr),n.registerAction(new xt),n.registerAction(new fr),n.registerAction(new yr),n.registerAction(new gr),r.addStore(c,s),r.addStore(Ct,new Ct),(a=t.get(e.PrefsStore)).registerPreference(new e.BooleanSetting({key:wt.SHOW_SORT_CONTROLS,checked:!0,name:"Show sort controls",category:"Query Controls"})),a.registerPreference(new e.BooleanSetting({key:wt.SHOW_FILTER_CONTROLS,checked:!0,name:"Show filter controls",category:"Query Controls"})),a.registerPreference(new e.BooleanSetting({key:wt.FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK,checked:!0,name:"Hide null fields in relationship peek",category:"Query Controls"})),r.registerDefinition(new Yt),r.registerDefinition(new Ht),r.registerDefinition(new dr),r.registerDefinition(new mr),r.registerDefinition(new SchemaModelIndexDefinition),r.registerDefinition(new pr),r.registerDefinition(new _r),i.registerFactory(new QueryPanelFactory),i.registerFactory(new ModelPanelFactory),i.registerFactory(new ModelJsonPanelFactory)}async init(e){e.get(c).init(),e.get(Ct).init()}}const br=DataBrowserModule})(),m})());
|
|
256
|
+
`}(or||(or={}));const lr=(0,He.observer)(t=>{const[r,n]=(0,Se.useState)(!1),i=(0,Se.useRef)(null),a=e=>{t.model.current_page_data=e};(0,Se.useEffect)(()=>(0,s.autorun)(()=>{const e=t.model.query;e&&(t.model.current_page_data||0===e.totalPages&&e.load())}),[t.model]),(0,Se.useEffect)(()=>(0,s.autorun)(()=>{var e,r;if(t.model.query){const o=t.model.query.getPage(t.model.current_page),l=t.model.current_page_data;if(!l)return a(o),void n(!!(null==o?void 0:o.loading));if(o===l)return void n(!!o.loading);if(!o.loading)return null===(e=i.current)||void 0===e||e.call(i),i.current=null,a(o),void n(!1);n(!0),null===(r=i.current)||void 0===r||r.call(i),i.current=(0,s.autorun)(()=>{var e;o.loading||(null===(e=i.current)||void 0===e||e.call(i),i.current=null,a(o),n(!1))})}}),[t.model]),(0,Se.useEffect)(()=>()=>{var e;null===(e=i.current)||void 0===e||e.call(i),i.current=null},[]);const o=t.model.current_page_data||(t.model.query?t.model.query.getPage(t.model.current_page):null);return Se.createElement(e.LoadingPanelWidget,{loading:!t.model.query||!o},()=>Se.createElement(or.Container,null,Se.createElement(e.BorderLayoutWidget,{top:Se.createElement(sr,{query:t.model.query,current_page:o,loading:r,onLoadSavedQuery:async e=>{await t.model.loadSavedQuery(e)},goToPage:e=>{t.model.current_page=e}}),bottom:Se.createElement(sr,{query:t.model.query,current_page:o,loading:r,onLoadSavedQuery:async e=>{await t.model.loadSavedQuery(e)},goToPage:e=>{t.model.current_page=e}})},Se.createElement(Vt,{query:t.model.query,page:o,scrollTop:t.model.table_scroll_top,scrollLeft:t.model.table_scroll_left,onScroll:({top:e,left:r})=>{t.model.table_scroll_top=e,t.model.table_scroll_left=r}}))))});let cr=(()=>{var a,o,l,u,d,p,h;let m,f,y,_,g=e.ReactorPanelModel,b=[],T=[],S=[],v=[],E=[],x=[],w=[],M=[];return a=class QueryPanelModel extends g{get connStore(){return n(this,o,"f")}set connStore(e){i(this,o,e,"f")}get query(){return n(this,l,"f")}set query(e){i(this,l,e,"f")}get current_page(){return n(this,u,"f")}set current_page(e){i(this,u,e,"f")}get current_page_data(){return n(this,d,"f")}set current_page_data(e){i(this,d,e,"f")}get table_scroll_top(){return n(this,p,"f")}set table_scroll_top(e){i(this,p,e,"f")}get table_scroll_left(){return n(this,h,"f")}set table_scroll_left(e){i(this,h,e,"f")}constructor(e){super(QueryPanelFactory.TYPE),o.set(this,r(this,b,void 0)),l.set(this,(r(this,T),r(this,S,void 0))),u.set(this,(r(this,v),r(this,E,void 0))),d.set(this,(r(this,x),r(this,w,void 0))),p.set(this,r(this,M)),h.set(this,void 0),this.setExpand(!0,!0),this.query=e,this.current_page=0,this.current_page_data=null,this.table_scroll_top=0,this.table_scroll_left=0}isSerializable(){return this.query instanceof AbstractSerializableQuery}toArray(){return Object.assign(Object.assign({},super.toArray()),{current_page:this.current_page})}fromArray(e,t){super.fromArray(e,t),this.current_page=e.current_page||0}encodeEntities(){return{query:this.query}}decodeEntities(e){this.query=e.query,this.current_page_data=null}async loadSavedQuery(t){const r=await e.ioc.get(Ct).loadSavedQuery(t);r&&(this.current_page=0,this.current_page_data=null,this.query=r,await r.load())}},o=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,p=new WeakMap,h=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=g[Symbol.metadata])&&void 0!==r?r:null):void 0;m=[(0,e.inject)(c)],f=[s.observable],y=[s.observable],_=[(r=s.observable).ref.bind(r)],t(a,null,m,{kind:"accessor",name:"connStore",static:!1,private:!1,access:{has:e=>"connStore"in e,get:e=>e.connStore,set:(e,t)=>{e.connStore=t}},metadata:n},b,T),t(a,null,f,{kind:"accessor",name:"query",static:!1,private:!1,access:{has:e=>"query"in e,get:e=>e.query,set:(e,t)=>{e.query=t}},metadata:n},S,v),t(a,null,y,{kind:"accessor",name:"current_page",static:!1,private:!1,access:{has:e=>"current_page"in e,get:e=>e.current_page,set:(e,t)=>{e.current_page=t}},metadata:n},E,x),t(a,null,_,{kind:"accessor",name:"current_page_data",static:!1,private:!1,access:{has:e=>"current_page_data"in e,get:e=>e.current_page_data,set:(e,t)=>{e.current_page_data=t}},metadata:n},w,M),n&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),a})();class QueryPanelFactory extends SharedConnectionPanelFactory{constructor(){super({icon:"table",color:"rgb(0,192,255)",name:"Query",allowManualCreation:!1,isMultiple:!0,fullscreen:!1,type:QueryPanelFactory.TYPE,category:"Databrowser"})}matchesModel(e,t){return e.query.matches(t.query)}getSimpleName(e){var t;return null===(t=e.query)||void 0===t?void 0:t.getSimpleName()}getConnection(e){var t;return(null===(t=e.query)||void 0===t?void 0:t.connection)||null}_generateModel(){return new cr(null)}generatePanelContent(e){return Se.createElement(lr,{key:e.model.id,model:e.model})}}QueryPanelFactory.TYPE="query";let ur=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class QuerySchemaModelAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Query schema model",icon:"search",target:u.SCHEMA_MODEL_DEFINITION}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new cr(new It({definition:e.targetEntity,limit:30})))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="QUERY_SCHEMA_MODEL",s})(),dr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class SchemaModelDefinitionEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.SCHEMA_MODEL_DEFINITION,category:"DataBrowser",label:"Schema model definition",icon:"cube",iconColor:"mediumpurple"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.definition.label,complexName:e.definition.name})})),this.registerComponent(new e.DescendantEntityProviderComponent({descendantType:u.SCHEMA_MODEL_INDEX,generateOptions:e=>({category:{label:"Indexes",icon:"search",openDefault:!1},descendants:e.indexes})})),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({connection_id:e.connection.id,type:e.definition.name}),decode:async e=>(await this.connectionStore.waitForReadyForConnection(e.connection_id)).waitForSchemaModelDefinitionByName(e.type)})),this.registerComponent(new e.InlineTreePresenterComponent({loadChildrenAsNodesAreOpened:!0,cacheTreeEntities:!0,augmentTreeNodeProps:()=>({openOnSingleClick:!1})})),this.registerComponent(new e.SimpleParentEntitySearchEngine({label:"Simple",type:u.CONNECTION,getEntities:async e=>e.parameters.parent.schema_models.items})),this.registerComponent(new e.EntityActionHandlerComponent(ur.ID))}matchEntity(e){if(e instanceof le)return!0}getEntityUID(e){return e.definition.name}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),pr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class QueryEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.QUERY,category:"DataBrowser",label:"Query",icon:"search",iconColor:"red"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>e.serialize(),decode:async e=>{if("simple"===e.type){let t=new It;return await t.deserialize(this.connectionStore,e),t}}}))}matchEntity(e){if(e instanceof AbstractSerializableQuery)return!0}getEntityUID(e){return e.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),hr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class CreateModelAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Create schema model",icon:"search",target:u.SCHEMA_MODEL_DEFINITION}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new ModelPanelModel({definition:e.targetEntity,model:await e.targetEntity.generateNewModelObject()}))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="CREATE_SCHEMA_MODEL",s})(),mr=(()=>{var s,a;let o,l=e.EntityDefinition,d=[],p=[];return s=class SchemaModelObjectEntityDefinition extends l{get connectionStore(){return n(this,a,"f")}set connectionStore(e){i(this,a,e,"f")}constructor(){super({type:u.SCHEMA_MODEL_OBJECT,category:"DataBrowser",label:"Schema model",icon:"cube",iconColor:"mediumpurple"}),a.set(this,r(this,d,void 0)),r(this,p),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.data.display,complexName:e.definition.definition.label})})),this.registerComponent(new e.SimpleParentEntitySearchEngine({label:"Label",type:u.SCHEMA_MODEL_DEFINITION,filterResultsWithMatcher:!1,getEntities:async e=>e.value?await e.parameters.parent.search(e.value):[]})),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({connection_id:e.definition.connection.id,type:e.definition.definition.name,id:e.model.id}),decode:async e=>{let t=await this.connectionStore.waitForReadyForConnection(e.connection_id),r=await t.waitForSchemaModelDefinitionByName(e.type);return await r.resolve(e.id)}})),this.registerComponent(new e.InlineTreePresenterComponent)}matchEntity(e){if(e instanceof f)return!0}getEntityUID(e){return e.model.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(c)],t(s,null,o,{kind:"accessor",name:"connectionStore",static:!1,private:!1,access:{has:e=>"connectionStore"in e,get:e=>e.connectionStore,set:(e,t)=>{e.connectionStore=t}},metadata:n},d,p),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),fr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class ViewSchemaModelAsJsonAction extends l{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"View schema model as JSON",icon:"eye",target:u.SCHEMA_MODEL_OBJECT}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){this.workspaceStore.addModel(new qe({definition:e.targetEntity.definition,model:e.targetEntity}))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(e.WorkspaceStore)],t(s,null,o,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="VIEW_SCHEMA_MODEL_AS_JSON",s})();class SchemaModelIndexDefinition extends e.EntityDefinition{constructor(){super({type:u.SCHEMA_MODEL_INDEX,category:"DataBrowser",label:"Schema model index",icon:"search",iconColor:"cyan"}),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.index.name,complexName:e.index.type})})),this.registerComponent(new e.InlineTreePresenterComponent)}matchEntity(e){if(e instanceof IndexModel)return!0}getEntityUID(e){return`${e.definition.definition.media}-${e.index.name}`}}let yr=(()=>{var s,a,o;let l,c,d=e.EntityAction,p=[],h=[],m=[],f=[];return s=class OpenSavedQueryAction extends d{get workspaceStore(){return n(this,a,"f")}set workspaceStore(e){i(this,a,e,"f")}get savedQueryStore(){return n(this,o,"f")}set savedQueryStore(e){i(this,o,e,"f")}constructor(){super({id:s.ID,name:"Open saved query",icon:"play",target:u.SAVED_QUERY}),a.set(this,r(this,p,void 0)),o.set(this,(r(this,h),r(this,m,void 0))),r(this,f)}async fireEvent(e){const t=await this.savedQueryStore.loadSavedQuery(e.targetEntity.id);t&&(await t.load(),this.workspaceStore.addModel(new cr(t)))}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,o=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=d[Symbol.metadata])&&void 0!==r?r:null):void 0;l=[(0,e.inject)(e.WorkspaceStore)],c=[(0,e.inject)(Ct)],t(s,null,l,{kind:"accessor",name:"workspaceStore",static:!1,private:!1,access:{has:e=>"workspaceStore"in e,get:e=>e.workspaceStore,set:(e,t)=>{e.workspaceStore=t}},metadata:n},p,h),t(s,null,c,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},m,f),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="OPEN_SAVED_QUERY",s})(),_r=(()=>{var s,a;let o,l=e.EntityDefinition,c=[],d=[];return s=class SavedQueryEntityDefinition extends l{get savedQueryStore(){return n(this,a,"f")}set savedQueryStore(e){i(this,a,e,"f")}constructor(){super({type:u.SAVED_QUERY,category:"DataBrowser",label:"Saved query",icon:"bookmark",iconColor:"gold"}),a.set(this,r(this,c,void 0)),r(this,d),this.registerComponent(new e.EntityDescriberComponent({label:"Simple",describe:e=>({simpleName:e.saved.name,complexName:e.saved.query.definition,tags:["saved"]})})),this.registerComponent(new e.InlineTreePresenterComponent),this.registerComponent(new e.EntityCardsPresenterComponent),this.registerComponent(new e.InlineEntityEncoderComponent({version:1,encode:e=>({id:e.id}),decode:async e=>this.savedQueryStore.getSavedEntityByID(e.id)})),this.registerComponent(new e.EntityActionHandlerComponent(yr.ID))}matchEntity(e){return e instanceof SavedQueryEntity}getEntityUID(e){return e.id}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(Ct)],t(s,null,o,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s})(),gr=(()=>{var s,a;let o,l=e.EntityAction,c=[],d=[];return s=class RemoveSavedQueryAction extends l{get savedQueryStore(){return n(this,a,"f")}set savedQueryStore(e){i(this,a,e,"f")}constructor(){super({id:s.ID,name:"Delete saved query",icon:"trash",target:u.SAVED_QUERY}),a.set(this,r(this,c,void 0)),r(this,d)}async fireEvent(e){await this.savedQueryStore.removeSavedQuery(e.targetEntity.id)}static get(){return e.ioc.get(e.ActionStore).getActionByID(s.ID)}},a=new WeakMap,(()=>{var r;const n="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=l[Symbol.metadata])&&void 0!==r?r:null):void 0;o=[(0,e.inject)(Ct)],t(s,null,o,{kind:"accessor",name:"savedQueryStore",static:!1,private:!1,access:{has:e=>"savedQueryStore"in e,get:e=>e.savedQueryStore,set:(e,t)=>{e.savedQueryStore=t}},metadata:n},c,d),n&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:n})})(),s.ID="REMOVE_SAVED_QUERY",s})();class DataBrowserModule extends e.AbstractReactorModule{constructor(){super({name:"Data Browser"})}register(t){const r=t.get(e.System),n=t.get(e.ActionStore),i=t.get(e.WorkspaceStore);let s=new c;var a;t.bind(rt).toConstantValue(new rt),s.registerConnectionFactory(new Rt),n.registerAction(new _e),n.registerAction(new Ut),n.registerAction(new Wt),n.registerAction(new ur),n.registerAction(new hr),n.registerAction(new xt),n.registerAction(new fr),n.registerAction(new yr),n.registerAction(new gr),r.addStore(c,s),r.addStore(Ct,new Ct),(a=t.get(e.PrefsStore)).registerPreference(new e.BooleanSetting({key:wt.SHOW_SORT_CONTROLS,checked:!0,name:"Show sort controls",category:"Query Controls"})),a.registerPreference(new e.BooleanSetting({key:wt.SHOW_FILTER_CONTROLS,checked:!0,name:"Show filter controls",category:"Query Controls"})),a.registerPreference(new e.BooleanSetting({key:wt.FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK,checked:!0,name:"Hide null fields in relationship peek",category:"Query Controls"})),r.registerDefinition(new Yt),r.registerDefinition(new Ht),r.registerDefinition(new dr),r.registerDefinition(new mr),r.registerDefinition(new SchemaModelIndexDefinition),r.registerDefinition(new pr),r.registerDefinition(new _r),i.registerFactory(new QueryPanelFactory),i.registerFactory(new ModelPanelFactory),i.registerFactory(new ModelJsonPanelFactory)}async init(e){e.get(c).init(),e.get(Ct).init()}}const br=DataBrowserModule})(),m})());
|
|
257
257
|
//# sourceMappingURL=bundle.js.map
|
|
258
258
|
window.reactorModuleLoaded('module-databrowser')
|