@luzmo/analytics-components-kit 1.0.1-alpha.84 → 1.0.1-alpha.86
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/angular/README.md +1 -0
- package/angular/components/ai-interaction-textarea.component.ts +2 -0
- package/angular/components/dataset-icon.component.ts +21 -0
- package/angular/components/dataset-selector-row.component.ts +2 -0
- package/angular/components/droppable-slot.component.ts +2 -2
- package/angular/esm/components/ai-interaction-textarea.component.d.ts +2 -1
- package/angular/esm/components/ai-interaction-textarea.component.js +7 -2
- package/angular/esm/components/dataset-icon.component.d.ts +9 -0
- package/angular/esm/components/dataset-icon.component.js +36 -0
- package/angular/esm/components/dataset-selector-row.component.d.ts +2 -1
- package/angular/esm/components/dataset-selector-row.component.js +7 -2
- package/angular/esm/components/droppable-slot.component.d.ts +2 -2
- package/angular/esm/index.d.ts +3 -1
- package/angular/esm/index.js +3 -0
- package/angular/esm/types.d.ts +15 -1
- package/angular/index.ts +3 -0
- package/angular/types.ts +15 -2
- package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +7 -1
- package/components/ai-interaction-textarea/index.cjs +54 -0
- package/components/ai-interaction-textarea/index.d.ts +1 -1
- package/components/ai-interaction-textarea/index.js +165 -0
- package/components/dataset-icon/dataset-icon.d.ts +45 -0
- package/components/dataset-icon/index.cjs +60 -0
- package/components/dataset-icon/index.d.ts +7 -0
- package/components/dataset-icon/index.js +167 -0
- package/components/dataset-selector-list/dataset-selector-list.d.ts +1 -0
- package/components/dataset-selector-list/index.cjs +15 -13
- package/components/dataset-selector-list/index.js +42 -46
- package/components/dataset-selector-row/dataset-selector-row.d.ts +8 -0
- package/components/dataset-selector-row/index.cjs +82 -0
- package/components/dataset-selector-row/index.d.ts +1 -1
- package/components/dataset-selector-row/index.js +215 -0
- package/components/droppable-slot/droppable-slot.d.ts +2 -2
- package/components/index.cjs +1 -60
- package/components/index.js +104 -281
- package/custom-elements.json +156 -2
- package/index.d.ts +2 -0
- package/package.json +10 -5
- package/types.d.ts +15 -1
|
@@ -17,15 +17,17 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("@luzmo/icons"),v=require("../index-cfj52IbK.cjs"),_=require("../localize-r7ALOUy_.cjs"),y=require("../set-locale-BRRalqne.cjs"),i=require("lit"),d=require("lit/decorators.js"),z=require("lit/directives/repeat.js"),D=":host{box-sizing:border-box;display:flex;flex-direction:column;height:100%;font-family:var(--luzmo-dataset-selector-list-font-family, var(--dataset-selector-list-font-family))}:host .dataset-selector-list{display:flex;flex-direction:column;gap:var(--luzmo-dataset-selector-list-gap, var(--dataset-selector-list-gap));height:100%;background:var(--luzmo-dataset-selector-list-background, var(--dataset-selector-list-background));padding:var(--luzmo-dataset-selector-list-padding, var(--dataset-selector-list-padding));border-radius:var(--luzmo-dataset-selector-list-border-radius, var(--dataset-selector-list-border-radius))}:host .search-input{background-color:var(--luzmo-dataset-selector-list-input-background, var(--dataset-selector-list-input-background));border:none;border-bottom:1px solid var(--luzmo-dataset-selector-list-input-border-color, var(--dataset-selector-list-input-border-color));color:var(--luzmo-dataset-selector-list-input-color, var(--dataset-selector-list-input-color));line-height:var(--luzmo-dataset-selector-list-input-line-height, var(--dataset-selector-list-input-line-height));font-size:var(--luzmo-dataset-selector-list-input-font-size, var(--dataset-selector-list-input-font-size));margin:0;outline:none;padding:var(--luzmo-dataset-selector-list-input-padding, var(--dataset-selector-list-input-padding));width:100%;box-sizing:border-box}:host .search-input::placeholder{color:var(--luzmo-font-color-tertiary, #999)}:host .datasets-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background)) var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background))}:host .datasets-scroll-container::-webkit-scrollbar{width:var(--luzmo-dataset-selector-list-scrollbar-width, var(--dataset-selector-list-scrollbar-width))}:host .datasets-scroll-container::-webkit-scrollbar-track{background:var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-track-border-radius, var(--dataset-selector-list-scrollbar-track-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-thumb-border-radius, var(--dataset-selector-list-scrollbar-thumb-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-hover-background, var(--dataset-selector-list-scrollbar-thumb-hover-background))}:host .datasets-list{display:flex;flex-direction:column}:host .available-dataset-item{padding:var(--luzmo-dataset-selector-list-item-padding, var(--dataset-selector-list-item-padding));display:flex;flex-direction:row;align-items:center;gap:var(--luzmo-dataset-selector-list-item-gap, var(--dataset-selector-list-item-gap));cursor:pointer;border-radius:var(--luzmo-dataset-selector-list-item-border-radius, var(--dataset-selector-list-item-border-radius));transition:background-color .15s ease}:host .available-dataset-item:hover{background-color:var(--luzmo-dataset-selector-list-item-hover-background, var(--dataset-selector-list-item-hover-background))}:host .available-dataset-item:focus{outline:none}:host .available-dataset-item .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}:host .available-dataset-item .dataset-icon luzmo-icon{display:flex}:host .available-dataset-item .dataset-icon-img{width:16px;height:16px;object-fit:contain}:host .available-dataset-item .dataset-name{flex:1;line-height:var(--luzmo-dataset-selector-list-item-line-height, var(--dataset-selector-list-item-line-height));font-size:var(--luzmo-dataset-selector-list-item-font-size, var(--dataset-selector-list-item-font-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .no-datasets-found{display:flex;align-items:center;justify-content:center;height:50%;color:var(--luzmo-dataset-selector-list-no-datasets-color, var(--dataset-selector-list-no-datasets-color));font-size:var(--luzmo-dataset-selector-list-no-datasets-font-size, var(--dataset-selector-list-no-datasets-font-size));text-align:center;padding:var(--luzmo-spacing-4, 1rem)}:host .loader{display:flex;align-items:center;justify-content:center;padding:var(--luzmo-spacing-5, 1.25rem) 0}:host .loader .spinner{width:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));height:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));border:2px solid var(--luzmo-border-color-light, #e0e0e0);border-top-color:var(--luzmo-dataset-selector-list-loader-color, var(--dataset-selector-list-loader-color));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:host{--dataset-selector-list-background: var(--luzmo-background-color);--dataset-selector-list-padding: 0;--dataset-selector-list-gap: var(--luzmo-spacing-2);--dataset-selector-list-border-radius: var(--luzmo-border-radius-m);--dataset-selector-list-font-family: var(--luzmo-font-family);--dataset-selector-list-input-background: var(--luzmo-background-color);--dataset-selector-list-input-border-color: var(--luzmo-border-color-light, rgba(0,0,0,.05));--dataset-selector-list-input-color: var(--luzmo-font-color);--dataset-selector-list-input-padding: 0 var(--luzmo-spacing-4) var(--luzmo-spacing-2);--dataset-selector-list-input-font-size: var(--luzmo-font-size-s);--dataset-selector-list-input-line-height: 1.5rem;--dataset-selector-list-item-padding: var(--luzmo-spacing-1) var(--luzmo-spacing-4);--dataset-selector-list-item-gap: var(--luzmo-spacing-3);--dataset-selector-list-item-hover-background: var( --luzmo-background-color-highlight );--dataset-selector-list-item-font-size: var(--luzmo-font-size-s);--dataset-selector-list-item-line-height: 1.5rem;--dataset-selector-list-item-border-radius: var(--luzmo-border-radius-s);--dataset-selector-list-scrollbar-width: 6px;--dataset-selector-list-scrollbar-track-background: var( --luzmo-background-color-highlight );--dataset-selector-list-scrollbar-track-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-background: var( --luzmo-border-color-full );--dataset-selector-list-scrollbar-thumb-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-hover-background: var( --luzmo-border-color-full-hover );--dataset-selector-list-loader-size: 24px;--dataset-selector-list-loader-color: var(--luzmo-primary);--dataset-selector-list-no-datasets-color: var(--luzmo-font-color-tertiary);--dataset-selector-list-no-datasets-font-size: var(--luzmo-font-size-s)}";var k=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(g,t,e,s)=>{for(var a=s>1?void 0:s?w(t,e):t,r=g.length-1,l;r>=0;r--)(l=g[r])&&(a=(s?l(t,e,a):l(a))||a);return s&&a&&k(t,e,a),a};const m=7,L=600,x=5,b=class b extends i.LitElement{constructor(){super(...arguments),this._selectedDatasets=new Set,this.showSearch=!0,this.searchPlaceholder="Search datasets...",this.noDatasetsMessage="No datasets found",this.authKey="",this.authToken="",this.apiUrl="https://api.luzmo.com",this.appServer="https://app.luzmo.com",this.flagOpendata=!1,this._availableDatasets=[],this._status={allDatasetsLoaded:!1,paging:!1,busy:!0,error:!1},this._searchValue="",this._currentOffset=0,this._searchDebounceTimer=null,this._queryCache=new Map,this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1}set selectedDatasets(t){this._selectedDatasets=t,this._shouldLoadMoreDatasetsForViewport()&&this._loadAvailableDatasets({append:!0})}get selectedDatasets(){return this._selectedDatasets}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this._configureBroker(),this._waitForContainerHeightAndLoad()}_configureBroker(){(this.authKey||this.authToken||this.apiUrl)&&v.dataBroker.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_waitForContainerHeightAndLoad(){requestAnimationFrame(()=>{this._loadAvailableDatasets({append:!1})})}_calculateOptimalQueryLimit(){var n;if(this._calculatedQueryLimit!==null)return this._calculatedQueryLimit;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".dataset-selector-list");if(!t)return m;const e=getComputedStyle(t),s=t.clientHeight,a=Number.parseFloat(e.height),r=Math.max(s,a);if(r<=0)return m;const h=Math.floor(r/24),u=Math.max(h+x,m);return this._calculatedQueryLimit=u,u}get _filteredDatasets(){return this._selectedDatasets.size===0?this._availableDatasets:this._availableDatasets.filter(e=>!this._selectedDatasets.has(e.id))}_handleSearchInput(t){const e=t.target;this._searchValue=e.value,this._searchDebounceTimer!==null&&clearTimeout(this._searchDebounceTimer),this._searchDebounceTimer=window.setTimeout(()=>{this._loadAvailableDatasets({append:!1})},L)}_handleScroll(t){const e=t.target,s=e.scrollTop,a=e.scrollHeight,r=e.clientHeight;s+r>=a-50&&!this._status.allDatasetsLoaded&&!this._status.busy&&this._loadAvailableDatasets({append:!0})}async _loadAvailableDatasets({append:t}){t||(this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1),this._status={...this._status,busy:!0,allDatasetsLoaded:t?this._status.allDatasetsLoaded:!1,paging:t};const e=this._generateQuery(t),s=JSON.stringify(e),a=this._queryCache.has(s);try{let r;a?r=this._queryCache.get(s):(r=await v.dataBroker.fetchApi("/securable",{action:"get",version:"0.1.0",find:e}),this._queryCache.set(s,r)),this._onDatasetsLoaded(t,r),this._shouldLoadMoreDatasetsForViewport()&&await this._loadAvailableDatasets({append:!0})}catch(r){console.error("Error loading datasets:",r),this._status={...this._status,busy:!1,paging:!1,error:!0}}finally{this._status={...this._status,busy:!1,paging:!1}}}_generateQuery(t){const e=this._calculateOptimalQueryLimit();t?this._currentOffset+=e:this._currentOffset=0;const s=this._searchValue?{search:{match_types:["name","description"],keyphrase:this._searchValue,securable_types:"dataset"},order:[["name","asc"]]}:{order:[["updated_at","desc"]]};return{attributes:["id","updated_at","name","subtype"],include:[{model:"Collection",attributes:["id","favorite"],where:{favorite:!0}},{model:"Account",attributes:["id","provider","name"],include:[{model:"Plugin",attributes:["id"],include:[{model:"Thumbnail",where:{size:"32px"}}]}]}],where:{type:"dataset"},limit:e,offset:this._currentOffset,...s,...this.flagOpendata?{public:null}:{}}}_onDatasetsLoaded(t,{rows:e,count:s}){let a;if(t){const u=new Set(this._availableDatasets.map(p=>p.id)),n=e.filter(p=>!u.has(p.id));a=[...this._availableDatasets,...n]}else a=e||[];t&&e.length===0?this._hasLoadedEmptyPage=!0:e.length>0&&(this._hasLoadedEmptyPage=!1);const r=a.reduce((u,n)=>(u.some(p=>p.id===n.id)||u.push(n),u),[]),l=a.length,h=this._hasLoadedEmptyPage||l>=s;this._status={...this._status,allDatasetsLoaded:h},this._availableDatasets=r}_shouldLoadMoreDatasetsForViewport(){var n;if(this._status.allDatasetsLoaded||this._hasLoadedEmptyPage||this._status.busy)return!1;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".datasets-scroll-container");if(!t)return!1;const e=t.clientHeight,a=Math.ceil(e/24),l=Math.ceil(a*1.5);return this._filteredDatasets.length<l}_getDatasetName(t){const e=y.getLocale();return _.localize(t.name,e)||t.id||"Unknown Dataset"}_selectDataset(t){this.dispatchEvent(new CustomEvent("dataset-selected",{detail:t,bubbles:!0,composed:!0}))}_handleDatasetClick(t){const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}_handleDatasetKeydown(t){if(t.key==="Enter"||t.key===" "){t.preventDefault();const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}}_renderLoader(){return i.html`
|
|
20
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../index-cfj52IbK.cjs"),v=require("../localize-r7ALOUy_.cjs"),_=require("../set-locale-BRRalqne.cjs"),l=require("lit"),i=require("lit/decorators.js"),y=require("lit/directives/repeat.js");require("../dataset-icon/index.cjs");const z=":host{box-sizing:border-box;display:flex;flex-direction:column;height:100%;font-family:var(--luzmo-dataset-selector-list-font-family, var(--dataset-selector-list-font-family))}:host .dataset-selector-list{display:flex;flex-direction:column;gap:var(--luzmo-dataset-selector-list-gap, var(--dataset-selector-list-gap));height:100%;background:var(--luzmo-dataset-selector-list-background, var(--dataset-selector-list-background));padding:var(--luzmo-dataset-selector-list-padding, var(--dataset-selector-list-padding));border-radius:var(--luzmo-dataset-selector-list-border-radius, var(--dataset-selector-list-border-radius))}:host .search-input{background-color:var(--luzmo-dataset-selector-list-input-background, var(--dataset-selector-list-input-background));border:none;border-bottom:1px solid var(--luzmo-dataset-selector-list-input-border-color, var(--dataset-selector-list-input-border-color));color:var(--luzmo-dataset-selector-list-input-color, var(--dataset-selector-list-input-color));line-height:var(--luzmo-dataset-selector-list-input-line-height, var(--dataset-selector-list-input-line-height));font-size:var(--luzmo-dataset-selector-list-input-font-size, var(--dataset-selector-list-input-font-size));margin:0;outline:none;padding:var(--luzmo-dataset-selector-list-input-padding, var(--dataset-selector-list-input-padding));width:100%;box-sizing:border-box}:host .search-input::placeholder{color:var(--luzmo-font-color-tertiary, #999)}:host .datasets-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background)) var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background))}:host .datasets-scroll-container::-webkit-scrollbar{width:var(--luzmo-dataset-selector-list-scrollbar-width, var(--dataset-selector-list-scrollbar-width))}:host .datasets-scroll-container::-webkit-scrollbar-track{background:var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-track-border-radius, var(--dataset-selector-list-scrollbar-track-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-thumb-border-radius, var(--dataset-selector-list-scrollbar-thumb-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-hover-background, var(--dataset-selector-list-scrollbar-thumb-hover-background))}:host .datasets-list{display:flex;flex-direction:column}:host .available-dataset-item{padding:var(--luzmo-dataset-selector-list-item-padding, var(--dataset-selector-list-item-padding));display:flex;flex-direction:row;align-items:center;gap:var(--luzmo-dataset-selector-list-item-gap, var(--dataset-selector-list-item-gap));cursor:pointer;border-radius:var(--luzmo-dataset-selector-list-item-border-radius, var(--dataset-selector-list-item-border-radius));transition:background-color .15s ease}:host .available-dataset-item:hover{background-color:var(--luzmo-dataset-selector-list-item-hover-background, var(--dataset-selector-list-item-hover-background))}:host .available-dataset-item:focus{outline:none}:host .available-dataset-item .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}:host .available-dataset-item .dataset-icon luzmo-icon{display:flex}:host .available-dataset-item .dataset-icon-img{width:16px;height:16px;object-fit:contain}:host .available-dataset-item .dataset-name{flex:1;line-height:var(--luzmo-dataset-selector-list-item-line-height, var(--dataset-selector-list-item-line-height));font-size:var(--luzmo-dataset-selector-list-item-font-size, var(--dataset-selector-list-item-font-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .no-datasets-found{display:flex;align-items:center;justify-content:center;height:50%;color:var(--luzmo-dataset-selector-list-no-datasets-color, var(--dataset-selector-list-no-datasets-color));font-size:var(--luzmo-dataset-selector-list-no-datasets-font-size, var(--dataset-selector-list-no-datasets-font-size));text-align:center;padding:var(--luzmo-spacing-4, 1rem)}:host .loader{display:flex;align-items:center;justify-content:center;padding:var(--luzmo-spacing-5, 1.25rem) 0}:host .loader .spinner{width:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));height:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));border:2px solid var(--luzmo-border-color-light, #e0e0e0);border-top-color:var(--luzmo-dataset-selector-list-loader-color, var(--dataset-selector-list-loader-color));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:host{--dataset-selector-list-background: var(--luzmo-background-color);--dataset-selector-list-padding: 0;--dataset-selector-list-gap: var(--luzmo-spacing-2);--dataset-selector-list-border-radius: var(--luzmo-border-radius-m);--dataset-selector-list-font-family: var(--luzmo-font-family);--dataset-selector-list-input-background: var(--luzmo-background-color);--dataset-selector-list-input-border-color: var(--luzmo-border-color-light, rgba(0,0,0,.05));--dataset-selector-list-input-color: var(--luzmo-font-color);--dataset-selector-list-input-padding: 0 var(--luzmo-spacing-4) var(--luzmo-spacing-2);--dataset-selector-list-input-font-size: var(--luzmo-font-size-s);--dataset-selector-list-input-line-height: 1.5rem;--dataset-selector-list-item-padding: var(--luzmo-spacing-1) var(--luzmo-spacing-4);--dataset-selector-list-item-gap: var(--luzmo-spacing-3);--dataset-selector-list-item-hover-background: var( --luzmo-background-color-highlight );--dataset-selector-list-item-font-size: var(--luzmo-font-size-s);--dataset-selector-list-item-line-height: 1.5rem;--dataset-selector-list-item-border-radius: var(--luzmo-border-radius-s);--dataset-selector-list-scrollbar-width: 6px;--dataset-selector-list-scrollbar-track-background: var( --luzmo-background-color-highlight );--dataset-selector-list-scrollbar-track-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-background: var( --luzmo-border-color-full );--dataset-selector-list-scrollbar-thumb-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-hover-background: var( --luzmo-border-color-full-hover );--dataset-selector-list-loader-size: 24px;--dataset-selector-list-loader-color: var(--luzmo-primary);--dataset-selector-list-no-datasets-color: var(--luzmo-font-color-tertiary);--dataset-selector-list-no-datasets-font-size: var(--luzmo-font-size-s)}";var D=Object.defineProperty,k=Object.getOwnPropertyDescriptor,d=(g,t,e,s)=>{for(var a=s>1?void 0:s?k(t,e):t,r=g.length-1,c;r>=0;r--)(c=g[r])&&(a=(s?c(t,e,a):c(a))||a);return s&&a&&D(t,e,a),a};const m=7,w=600,L=5,b=class b extends l.LitElement{constructor(){super(...arguments),this._selectedDatasets=new Set,this.showSearch=!0,this.searchPlaceholder="Search datasets...",this.noDatasetsMessage="No datasets found",this.authKey="",this.authToken="",this.apiUrl="https://api.luzmo.com",this.appServer="https://app.luzmo.com",this.flagOpendata=!1,this._availableDatasets=[],this._status={allDatasetsLoaded:!1,paging:!1,busy:!0,error:!1},this._searchValue="",this._currentOffset=0,this._searchDebounceTimer=null,this._queryCache=new Map,this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1}set selectedDatasets(t){this._selectedDatasets=t,this._shouldLoadMoreDatasetsForViewport()&&this._loadAvailableDatasets({append:!0})}get selectedDatasets(){return this._selectedDatasets}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this._configureBroker(),this._waitForContainerHeightAndLoad()}_configureBroker(){(this.authKey||this.authToken||this.apiUrl)&&f.dataBroker.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_waitForContainerHeightAndLoad(){requestAnimationFrame(()=>{this._loadAvailableDatasets({append:!1})})}_calculateOptimalQueryLimit(){var n;if(this._calculatedQueryLimit!==null)return this._calculatedQueryLimit;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".dataset-selector-list");if(!t)return m;const e=getComputedStyle(t),s=t.clientHeight,a=Number.parseFloat(e.height),r=Math.max(s,a);if(r<=0)return m;const p=Math.floor(r/24),u=Math.max(p+L,m);return this._calculatedQueryLimit=u,u}get _filteredDatasets(){return this._selectedDatasets.size===0?this._availableDatasets:this._availableDatasets.filter(e=>!this._selectedDatasets.has(e.id))}_handleSearchInput(t){const e=t.target;this._searchValue=e.value,this._searchDebounceTimer!==null&&clearTimeout(this._searchDebounceTimer),this._searchDebounceTimer=window.setTimeout(()=>{this._loadAvailableDatasets({append:!1})},w)}_handleScroll(t){const e=t.target,s=e.scrollTop,a=e.scrollHeight,r=e.clientHeight;s+r>=a-50&&!this._status.allDatasetsLoaded&&!this._status.busy&&this._loadAvailableDatasets({append:!0})}async _loadAvailableDatasets({append:t}){t||(this._calculatedQueryLimit=null,this._hasLoadedEmptyPage=!1),this._status={...this._status,busy:!0,allDatasetsLoaded:t?this._status.allDatasetsLoaded:!1,paging:t};const e=this._generateQuery(t),s=JSON.stringify(e),a=this._queryCache.has(s);try{let r;a?r=this._queryCache.get(s):(r=await f.dataBroker.fetchApi("/securable",{action:"get",version:"0.1.0",find:e}),this._queryCache.set(s,r)),this._onDatasetsLoaded(t,r),this._shouldLoadMoreDatasetsForViewport()&&await this._loadAvailableDatasets({append:!0})}catch(r){console.error("Error loading datasets:",r),this._status={...this._status,busy:!1,paging:!1,error:!0}}finally{this._status={...this._status,busy:!1,paging:!1}}}_generateQuery(t){const e=this._calculateOptimalQueryLimit();t?this._currentOffset+=e:this._currentOffset=0;const s=this._searchValue?{search:{match_types:["name","description"],keyphrase:this._searchValue,securable_types:"dataset"},order:[["name","asc"]]}:{order:[["updated_at","desc"]]};return{attributes:["id","updated_at","name","subtype"],include:[{model:"Collection",attributes:["id","favorite"],where:{favorite:!0}},{model:"Account",attributes:["id","provider","name"],include:[{model:"Plugin",attributes:["id"],include:[{model:"Thumbnail",where:{size:"32px"}}]}]}],where:{type:"dataset"},limit:e,offset:this._currentOffset,...s,...this.flagOpendata?{public:null}:{}}}_onDatasetsLoaded(t,{rows:e,count:s}){let a;if(t){const u=new Set(this._availableDatasets.map(h=>h.id)),n=e.filter(h=>!u.has(h.id));a=[...this._availableDatasets,...n]}else a=e||[];t&&e.length===0?this._hasLoadedEmptyPage=!0:e.length>0&&(this._hasLoadedEmptyPage=!1);const r=a.reduce((u,n)=>(u.some(h=>h.id===n.id)||u.push(n),u),[]),c=a.length,p=this._hasLoadedEmptyPage||c>=s;this._status={...this._status,allDatasetsLoaded:p},this._availableDatasets=r}_shouldLoadMoreDatasetsForViewport(){var n;if(this._status.allDatasetsLoaded||this._hasLoadedEmptyPage||this._status.busy)return!1;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".datasets-scroll-container");if(!t)return!1;const e=t.clientHeight,a=Math.ceil(e/24),c=Math.ceil(a*1.5);return this._filteredDatasets.length<c}_getDatasetName(t){const e=_.getLocale();return v.localize(t.name,e)||t.id||"Unknown Dataset"}_selectDataset(t){this.dispatchEvent(new CustomEvent("dataset-selected",{detail:t,bubbles:!0,composed:!0}))}_handleDatasetClick(t){const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}_handleDatasetKeydown(t){if(t.key==="Enter"||t.key===" "){t.preventDefault();const e=t.currentTarget.dataset.datasetId,s=this._filteredDatasets.find(a=>a.id===e);s&&this._selectDataset(s)}}_renderLoader(){return l.html`
|
|
21
21
|
<div class="loader">
|
|
22
22
|
<div class="spinner"></div>
|
|
23
23
|
</div>
|
|
24
|
-
`}_renderDatasetIcon(t){
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
`}_renderDatasetIcon(t){return l.html`
|
|
25
|
+
<luzmo-dataset-icon
|
|
26
|
+
.datasetInfo=${t}
|
|
27
|
+
size="16px"
|
|
28
|
+
app-url=${this.appServer}
|
|
29
|
+
></luzmo-dataset-icon>
|
|
30
|
+
`}_renderSearchInput(){return this.showSearch?l.html`
|
|
29
31
|
<input
|
|
30
32
|
name="dataset-search"
|
|
31
33
|
type="text"
|
|
@@ -36,13 +38,13 @@
|
|
|
36
38
|
@input=${this._handleSearchInput}
|
|
37
39
|
class="search-input"
|
|
38
40
|
/>
|
|
39
|
-
`:
|
|
41
|
+
`:l.nothing}_renderDatasetList(){return this._filteredDatasets.length===0?this._status.busy&&!this._status.paging?this._renderLoader():l.html`
|
|
40
42
|
<div class="no-datasets-found">${this.noDatasetsMessage}</div>
|
|
41
|
-
`:
|
|
43
|
+
`:l.html`
|
|
42
44
|
<div class="datasets-scroll-container" @scroll=${this._handleScroll}>
|
|
43
|
-
${this._status.busy&&!this._status.paging?this._renderLoader():
|
|
45
|
+
${this._status.busy&&!this._status.paging?this._renderLoader():l.nothing}
|
|
44
46
|
<div class="datasets-list">
|
|
45
|
-
${
|
|
47
|
+
${y.repeat(this._filteredDatasets,t=>t.id,t=>l.html`
|
|
46
48
|
<div
|
|
47
49
|
class="available-dataset-item"
|
|
48
50
|
data-dataset-id=${t.id}
|
|
@@ -62,11 +64,11 @@
|
|
|
62
64
|
</span>
|
|
63
65
|
</div>
|
|
64
66
|
`)}
|
|
65
|
-
${this._status.paging?this._renderLoader():
|
|
67
|
+
${this._status.paging?this._renderLoader():l.nothing}
|
|
66
68
|
</div>
|
|
67
69
|
</div>
|
|
68
|
-
`}render(){return
|
|
70
|
+
`}render(){return l.html`
|
|
69
71
|
<div class="dataset-selector-list">
|
|
70
72
|
${this._renderSearchInput()} ${this._renderDatasetList()}
|
|
71
73
|
</div>
|
|
72
|
-
`}};b.styles=
|
|
74
|
+
`}};b.styles=l.unsafeCSS(z);let o=b;d([i.property({type:Object,attribute:!1})],o.prototype,"selectedDatasets",1);d([i.property({type:Boolean,attribute:"show-search"})],o.prototype,"showSearch",2);d([i.property({type:String,attribute:"search-placeholder"})],o.prototype,"searchPlaceholder",2);d([i.property({type:String,attribute:"no-datasets-message"})],o.prototype,"noDatasetsMessage",2);d([i.property({type:String,attribute:"auth-key"})],o.prototype,"authKey",2);d([i.property({type:String,attribute:"auth-token"})],o.prototype,"authToken",2);d([i.property({type:String,attribute:"api-url"})],o.prototype,"apiUrl",2);d([i.property({type:String,attribute:"app-server"})],o.prototype,"appServer",2);d([i.property({type:Boolean,attribute:"flag-opendata"})],o.prototype,"flagOpendata",2);d([i.state()],o.prototype,"_availableDatasets",2);d([i.state()],o.prototype,"_status",2);d([i.state()],o.prototype,"_searchValue",2);customElements.get("luzmo-dataset-selector-list")||customElements.define("luzmo-dataset-selector-list",o);exports.LuzmoDatasetSelectorList=o;
|
|
@@ -17,26 +17,26 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
import { luzmoIcon as _, luzmoTable as y } from "@luzmo/icons";
|
|
21
20
|
import { d as v } from "../index-BPN3bG9X.js";
|
|
22
|
-
import { l as
|
|
23
|
-
import { g as
|
|
24
|
-
import { LitElement as
|
|
21
|
+
import { l as _ } from "../localize-BX7q0S0M.js";
|
|
22
|
+
import { g as y } from "../set-locale-B-Tz2sdI.js";
|
|
23
|
+
import { LitElement as x, unsafeCSS as k, html as u, nothing as b } from "lit";
|
|
25
24
|
import { property as n, state as f } from "lit/decorators.js";
|
|
26
|
-
import { repeat as
|
|
25
|
+
import { repeat as w } from "lit/directives/repeat.js";
|
|
26
|
+
import "../dataset-icon/index.js";
|
|
27
27
|
(function() {
|
|
28
28
|
if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
|
|
29
29
|
const t = document.createElement("style");
|
|
30
30
|
t.setAttribute("data-luzmo-vars", ""), t.textContent = 'html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}', document.head.appendChild(t);
|
|
31
31
|
}
|
|
32
32
|
})();
|
|
33
|
-
const
|
|
34
|
-
var
|
|
35
|
-
for (var a = o > 1 ? void 0 : o ?
|
|
36
|
-
(
|
|
37
|
-
return o && a &&
|
|
33
|
+
const D = ":host{box-sizing:border-box;display:flex;flex-direction:column;height:100%;font-family:var(--luzmo-dataset-selector-list-font-family, var(--dataset-selector-list-font-family))}:host .dataset-selector-list{display:flex;flex-direction:column;gap:var(--luzmo-dataset-selector-list-gap, var(--dataset-selector-list-gap));height:100%;background:var(--luzmo-dataset-selector-list-background, var(--dataset-selector-list-background));padding:var(--luzmo-dataset-selector-list-padding, var(--dataset-selector-list-padding));border-radius:var(--luzmo-dataset-selector-list-border-radius, var(--dataset-selector-list-border-radius))}:host .search-input{background-color:var(--luzmo-dataset-selector-list-input-background, var(--dataset-selector-list-input-background));border:none;border-bottom:1px solid var(--luzmo-dataset-selector-list-input-border-color, var(--dataset-selector-list-input-border-color));color:var(--luzmo-dataset-selector-list-input-color, var(--dataset-selector-list-input-color));line-height:var(--luzmo-dataset-selector-list-input-line-height, var(--dataset-selector-list-input-line-height));font-size:var(--luzmo-dataset-selector-list-input-font-size, var(--dataset-selector-list-input-font-size));margin:0;outline:none;padding:var(--luzmo-dataset-selector-list-input-padding, var(--dataset-selector-list-input-padding));width:100%;box-sizing:border-box}:host .search-input::placeholder{color:var(--luzmo-font-color-tertiary, #999)}:host .datasets-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background)) var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background))}:host .datasets-scroll-container::-webkit-scrollbar{width:var(--luzmo-dataset-selector-list-scrollbar-width, var(--dataset-selector-list-scrollbar-width))}:host .datasets-scroll-container::-webkit-scrollbar-track{background:var(--luzmo-dataset-selector-list-scrollbar-track-background, var(--dataset-selector-list-scrollbar-track-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-track-border-radius, var(--dataset-selector-list-scrollbar-track-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-background, var(--dataset-selector-list-scrollbar-thumb-background));border-radius:var(--luzmo-dataset-selector-list-scrollbar-thumb-border-radius, var(--dataset-selector-list-scrollbar-thumb-border-radius))}:host .datasets-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-dataset-selector-list-scrollbar-thumb-hover-background, var(--dataset-selector-list-scrollbar-thumb-hover-background))}:host .datasets-list{display:flex;flex-direction:column}:host .available-dataset-item{padding:var(--luzmo-dataset-selector-list-item-padding, var(--dataset-selector-list-item-padding));display:flex;flex-direction:row;align-items:center;gap:var(--luzmo-dataset-selector-list-item-gap, var(--dataset-selector-list-item-gap));cursor:pointer;border-radius:var(--luzmo-dataset-selector-list-item-border-radius, var(--dataset-selector-list-item-border-radius));transition:background-color .15s ease}:host .available-dataset-item:hover{background-color:var(--luzmo-dataset-selector-list-item-hover-background, var(--dataset-selector-list-item-hover-background))}:host .available-dataset-item:focus{outline:none}:host .available-dataset-item .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px}:host .available-dataset-item .dataset-icon luzmo-icon{display:flex}:host .available-dataset-item .dataset-icon-img{width:16px;height:16px;object-fit:contain}:host .available-dataset-item .dataset-name{flex:1;line-height:var(--luzmo-dataset-selector-list-item-line-height, var(--dataset-selector-list-item-line-height));font-size:var(--luzmo-dataset-selector-list-item-font-size, var(--dataset-selector-list-item-font-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .no-datasets-found{display:flex;align-items:center;justify-content:center;height:50%;color:var(--luzmo-dataset-selector-list-no-datasets-color, var(--dataset-selector-list-no-datasets-color));font-size:var(--luzmo-dataset-selector-list-no-datasets-font-size, var(--dataset-selector-list-no-datasets-font-size));text-align:center;padding:var(--luzmo-spacing-4, 1rem)}:host .loader{display:flex;align-items:center;justify-content:center;padding:var(--luzmo-spacing-5, 1.25rem) 0}:host .loader .spinner{width:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));height:var(--luzmo-dataset-selector-list-loader-size, var(--dataset-selector-list-loader-size));border:2px solid var(--luzmo-border-color-light, #e0e0e0);border-top-color:var(--luzmo-dataset-selector-list-loader-color, var(--dataset-selector-list-loader-color));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:host{--dataset-selector-list-background: var(--luzmo-background-color);--dataset-selector-list-padding: 0;--dataset-selector-list-gap: var(--luzmo-spacing-2);--dataset-selector-list-border-radius: var(--luzmo-border-radius-m);--dataset-selector-list-font-family: var(--luzmo-font-family);--dataset-selector-list-input-background: var(--luzmo-background-color);--dataset-selector-list-input-border-color: var(--luzmo-border-color-light, rgba(0,0,0,.05));--dataset-selector-list-input-color: var(--luzmo-font-color);--dataset-selector-list-input-padding: 0 var(--luzmo-spacing-4) var(--luzmo-spacing-2);--dataset-selector-list-input-font-size: var(--luzmo-font-size-s);--dataset-selector-list-input-line-height: 1.5rem;--dataset-selector-list-item-padding: var(--luzmo-spacing-1) var(--luzmo-spacing-4);--dataset-selector-list-item-gap: var(--luzmo-spacing-3);--dataset-selector-list-item-hover-background: var( --luzmo-background-color-highlight );--dataset-selector-list-item-font-size: var(--luzmo-font-size-s);--dataset-selector-list-item-line-height: 1.5rem;--dataset-selector-list-item-border-radius: var(--luzmo-border-radius-s);--dataset-selector-list-scrollbar-width: 6px;--dataset-selector-list-scrollbar-track-background: var( --luzmo-background-color-highlight );--dataset-selector-list-scrollbar-track-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-background: var( --luzmo-border-color-full );--dataset-selector-list-scrollbar-thumb-border-radius: var( --luzmo-border-radius-s );--dataset-selector-list-scrollbar-thumb-hover-background: var( --luzmo-border-color-full-hover );--dataset-selector-list-loader-size: 24px;--dataset-selector-list-loader-color: var(--luzmo-primary);--dataset-selector-list-no-datasets-color: var(--luzmo-font-color-tertiary);--dataset-selector-list-no-datasets-font-size: var(--luzmo-font-size-s)}";
|
|
34
|
+
var L = Object.defineProperty, S = Object.getOwnPropertyDescriptor, l = (p, t, e, o) => {
|
|
35
|
+
for (var a = o > 1 ? void 0 : o ? S(t, e) : t, s = p.length - 1, i; s >= 0; s--)
|
|
36
|
+
(i = p[s]) && (a = (o ? i(t, e, a) : i(a)) || a);
|
|
37
|
+
return o && a && L(t, e, a), a;
|
|
38
38
|
};
|
|
39
|
-
const g = 7,
|
|
39
|
+
const g = 7, C = 600, E = 5, z = class z extends x {
|
|
40
40
|
constructor() {
|
|
41
41
|
super(...arguments), this._selectedDatasets = /* @__PURE__ */ new Set(), this.showSearch = !0, this.searchPlaceholder = "Search datasets...", this.noDatasetsMessage = "No datasets found", this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.flagOpendata = !1, this._availableDatasets = [], this._status = {
|
|
42
42
|
allDatasetsLoaded: !1,
|
|
@@ -79,8 +79,8 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
79
79
|
const e = getComputedStyle(t), o = t.clientHeight, a = Number.parseFloat(e.height), s = Math.max(o, a);
|
|
80
80
|
if (s <= 0)
|
|
81
81
|
return g;
|
|
82
|
-
const
|
|
83
|
-
|
|
82
|
+
const m = Math.floor(s / 24), c = Math.max(
|
|
83
|
+
m + E,
|
|
84
84
|
g
|
|
85
85
|
);
|
|
86
86
|
return this._calculatedQueryLimit = c, c;
|
|
@@ -94,7 +94,7 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
94
94
|
const e = t.target;
|
|
95
95
|
this._searchValue = e.value, this._searchDebounceTimer !== null && clearTimeout(this._searchDebounceTimer), this._searchDebounceTimer = window.setTimeout(() => {
|
|
96
96
|
this._loadAvailableDatasets({ append: !1 });
|
|
97
|
-
},
|
|
97
|
+
}, C);
|
|
98
98
|
}
|
|
99
99
|
_handleScroll(t) {
|
|
100
100
|
const e = t.target, o = e.scrollTop, a = e.scrollHeight, s = e.clientHeight;
|
|
@@ -180,15 +180,15 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
180
180
|
_onDatasetsLoaded(t, { rows: e, count: o }) {
|
|
181
181
|
let a;
|
|
182
182
|
if (t) {
|
|
183
|
-
const c = new Set(this._availableDatasets.map((
|
|
183
|
+
const c = new Set(this._availableDatasets.map((h) => h.id)), d = e.filter((h) => !c.has(h.id));
|
|
184
184
|
a = [...this._availableDatasets, ...d];
|
|
185
185
|
} else
|
|
186
186
|
a = e || [];
|
|
187
187
|
t && e.length === 0 ? this._hasLoadedEmptyPage = !0 : e.length > 0 && (this._hasLoadedEmptyPage = !1);
|
|
188
|
-
const s = a.reduce((c, d) => (c.some((
|
|
188
|
+
const s = a.reduce((c, d) => (c.some((h) => h.id === d.id) || c.push(d), c), []), i = a.length, m = this._hasLoadedEmptyPage || i >= o;
|
|
189
189
|
this._status = {
|
|
190
190
|
...this._status,
|
|
191
|
-
allDatasetsLoaded:
|
|
191
|
+
allDatasetsLoaded: m
|
|
192
192
|
}, this._availableDatasets = s;
|
|
193
193
|
}
|
|
194
194
|
_shouldLoadMoreDatasetsForViewport() {
|
|
@@ -198,12 +198,12 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
198
198
|
const t = (d = this.shadowRoot) == null ? void 0 : d.querySelector(".datasets-scroll-container");
|
|
199
199
|
if (!t)
|
|
200
200
|
return !1;
|
|
201
|
-
const e = t.clientHeight, a = Math.ceil(e / 24),
|
|
202
|
-
return this._filteredDatasets.length <
|
|
201
|
+
const e = t.clientHeight, a = Math.ceil(e / 24), i = Math.ceil(a * 1.5);
|
|
202
|
+
return this._filteredDatasets.length < i;
|
|
203
203
|
}
|
|
204
204
|
_getDatasetName(t) {
|
|
205
|
-
const e =
|
|
206
|
-
return
|
|
205
|
+
const e = y();
|
|
206
|
+
return _(t.name, e) || t.id || "Unknown Dataset";
|
|
207
207
|
}
|
|
208
208
|
_selectDataset(t) {
|
|
209
209
|
this.dispatchEvent(
|
|
@@ -233,17 +233,13 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
233
233
|
`;
|
|
234
234
|
}
|
|
235
235
|
_renderDatasetIcon(t) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
class="dataset-icon-img"
|
|
244
|
-
/>`;
|
|
245
|
-
}
|
|
246
|
-
return u`${_(y)}`;
|
|
236
|
+
return u`
|
|
237
|
+
<luzmo-dataset-icon
|
|
238
|
+
.datasetInfo=${t}
|
|
239
|
+
size="16px"
|
|
240
|
+
app-url=${this.appServer}
|
|
241
|
+
></luzmo-dataset-icon>
|
|
242
|
+
`;
|
|
247
243
|
}
|
|
248
244
|
_renderSearchInput() {
|
|
249
245
|
return this.showSearch ? u`
|
|
@@ -266,7 +262,7 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
266
262
|
<div class="datasets-scroll-container" @scroll=${this._handleScroll}>
|
|
267
263
|
${this._status.busy && !this._status.paging ? this._renderLoader() : b}
|
|
268
264
|
<div class="datasets-list">
|
|
269
|
-
${
|
|
265
|
+
${w(
|
|
270
266
|
this._filteredDatasets,
|
|
271
267
|
(t) => t.id,
|
|
272
268
|
(t) => u`
|
|
@@ -303,42 +299,42 @@ const g = 7, E = 600, I = 5, z = class z extends w {
|
|
|
303
299
|
`;
|
|
304
300
|
}
|
|
305
301
|
};
|
|
306
|
-
z.styles = D
|
|
302
|
+
z.styles = k(D);
|
|
307
303
|
let r = z;
|
|
308
|
-
|
|
304
|
+
l([
|
|
309
305
|
n({ type: Object, attribute: !1 })
|
|
310
306
|
], r.prototype, "selectedDatasets", 1);
|
|
311
|
-
|
|
307
|
+
l([
|
|
312
308
|
n({ type: Boolean, attribute: "show-search" })
|
|
313
309
|
], r.prototype, "showSearch", 2);
|
|
314
|
-
|
|
310
|
+
l([
|
|
315
311
|
n({ type: String, attribute: "search-placeholder" })
|
|
316
312
|
], r.prototype, "searchPlaceholder", 2);
|
|
317
|
-
|
|
313
|
+
l([
|
|
318
314
|
n({ type: String, attribute: "no-datasets-message" })
|
|
319
315
|
], r.prototype, "noDatasetsMessage", 2);
|
|
320
|
-
|
|
316
|
+
l([
|
|
321
317
|
n({ type: String, attribute: "auth-key" })
|
|
322
318
|
], r.prototype, "authKey", 2);
|
|
323
|
-
|
|
319
|
+
l([
|
|
324
320
|
n({ type: String, attribute: "auth-token" })
|
|
325
321
|
], r.prototype, "authToken", 2);
|
|
326
|
-
|
|
322
|
+
l([
|
|
327
323
|
n({ type: String, attribute: "api-url" })
|
|
328
324
|
], r.prototype, "apiUrl", 2);
|
|
329
|
-
|
|
325
|
+
l([
|
|
330
326
|
n({ type: String, attribute: "app-server" })
|
|
331
327
|
], r.prototype, "appServer", 2);
|
|
332
|
-
|
|
328
|
+
l([
|
|
333
329
|
n({ type: Boolean, attribute: "flag-opendata" })
|
|
334
330
|
], r.prototype, "flagOpendata", 2);
|
|
335
|
-
|
|
331
|
+
l([
|
|
336
332
|
f()
|
|
337
333
|
], r.prototype, "_availableDatasets", 2);
|
|
338
|
-
|
|
334
|
+
l([
|
|
339
335
|
f()
|
|
340
336
|
], r.prototype, "_status", 2);
|
|
341
|
-
|
|
337
|
+
l([
|
|
342
338
|
f()
|
|
343
339
|
], r.prototype, "_searchValue", 2);
|
|
344
340
|
customElements.get("luzmo-dataset-selector-list") || customElements.define("luzmo-dataset-selector-list", r);
|
|
@@ -3,12 +3,16 @@ import '@luzmo/lucero/popover';
|
|
|
3
3
|
import '@luzmo/lucero/tooltip';
|
|
4
4
|
import { LitElement, TemplateResult } from 'lit';
|
|
5
5
|
import { Dataset } from '../../types';
|
|
6
|
+
import '../dataset-icon';
|
|
7
|
+
import '../dataset-selector-list';
|
|
6
8
|
/**
|
|
7
9
|
* @element luzmo-dataset-selector-row
|
|
8
10
|
* @summary A row component for selecting and managing datasets with pills and overlay
|
|
9
11
|
* @fires dataset-selected - Fired when a dataset is selected
|
|
10
12
|
* @fires dataset-removed - Fired when a dataset is removed
|
|
11
13
|
*
|
|
14
|
+
* @attr {boolean} disabled - When true, disables all interactions with the component
|
|
15
|
+
*
|
|
12
16
|
* @cssprop --dataset-selector-row-gap - Gap between elements
|
|
13
17
|
* @cssprop --dataset-selector-row-min-height - Minimum height of the row
|
|
14
18
|
* @cssprop --dataset-selector-row-font-size - Font size of the row
|
|
@@ -59,6 +63,10 @@ export declare class LuzmoDatasetSelectorRow extends LitElement {
|
|
|
59
63
|
* When true, restricts results to public datasets (opendata parity)
|
|
60
64
|
*/
|
|
61
65
|
flagOpendata: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* When true, disables all interactions with the component
|
|
68
|
+
*/
|
|
69
|
+
disabled: boolean;
|
|
62
70
|
private _overlayOpen;
|
|
63
71
|
private get _hasSelectedDatasets();
|
|
64
72
|
private get _selectedDatasetIds();
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*! * A kit of modern Luzmo Web Components for analytics in your web application.
|
|
2
|
+
*
|
|
3
|
+
* Copyright © 2025 Luzmo
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Luzmo web components (“Luzmo Web Components”)
|
|
6
|
+
* must be used according to the Luzmo Terms of Service.
|
|
7
|
+
* This license allows users with a current active Luzmo account
|
|
8
|
+
* to use the Luzmo Web Components. This license terminates
|
|
9
|
+
* automatically if a user no longer has an active Luzmo account.
|
|
10
|
+
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
|
11
|
+
*
|
|
12
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
+
* SOFTWARE.
|
|
19
|
+
* */
|
|
20
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@luzmo/icons");require("@luzmo/lucero/overlay");require("@luzmo/lucero/popover");require("@luzmo/lucero/tooltip");const h=require("../localize-r7ALOUy_.cjs"),v=require("../set-locale-BRRalqne.cjs"),d=require("lit"),a=require("lit/decorators.js"),b=require("lit/directives/repeat.js");require("../dataset-icon/index.cjs");require("../dataset-selector-list/index.cjs");const m=":host{box-sizing:border-box;display:flex;flex-direction:row;gap:var(--luzmo-dataset-selector-row-gap, var(--dataset-selector-row-gap));min-height:var(--luzmo-dataset-selector-row-min-height, var(--dataset-selector-row-min-height));flex-wrap:wrap;font-size:var(--luzmo-dataset-selector-row-font-size, var(--dataset-selector-row-font-size));color:var(--luzmo-dataset-selector-row-color, var(--dataset-selector-row-color));font-family:var(--luzmo-dataset-selector-row-font-family, var(--dataset-selector-row-font-family))}:host[disabled]{cursor:not-allowed;opacity:.6}:host .add-dataset-button{display:inline-flex;align-items:center;gap:var(--luzmo-dataset-selector-row-button-gap, var(--dataset-selector-row-button-gap));min-width:var(--luzmo-dataset-selector-row-button-min-width, var(--dataset-selector-row-button-min-width));height:var(--luzmo-dataset-selector-row-button-height, var(--dataset-selector-row-button-height));border-radius:var(--luzmo-dataset-selector-row-button-border-radius, var(--dataset-selector-row-button-border-radius));border:1px solid var(--luzmo-dataset-selector-row-button-border-color, var(--dataset-selector-row-button-border-color));background-color:var(--luzmo-dataset-selector-row-button-background, var(--dataset-selector-row-button-background));color:var(--luzmo-dataset-selector-row-button-color, var(--dataset-selector-row-button-color));padding:var(--luzmo-dataset-selector-row-button-padding, var(--dataset-selector-row-button-padding));cursor:pointer;font-size:inherit;font-family:inherit;outline:none;justify-content:center;transition:all .15s ease}:host .add-dataset-button:hover{background-color:var(--luzmo-dataset-selector-row-button-hover-background, var(--dataset-selector-row-button-hover-background));border-color:var(--luzmo-dataset-selector-row-button-hover-border-color, var(--dataset-selector-row-button-hover-border-color))}:host .add-dataset-button:focus{outline:none}:host .add-dataset-button svg{font-size:var(--luzmo-dataset-selector-row-button-icon-size, var(--dataset-selector-row-button-icon-size));color:var(--luzmo-dataset-selector-row-button-icon-color, var(--dataset-selector-row-button-icon-color))}:host .add-dataset-button.icon-only{padding:var(--luzmo-dataset-selector-row-button-icon-only-padding, var(--dataset-selector-row-button-icon-only-padding))}:host .add-dataset-button:disabled{cursor:not-allowed;opacity:.6}:host .add-dataset-button:disabled:hover{background-color:var(--luzmo-dataset-selector-row-button-background, var(--dataset-selector-row-button-background));border-color:var(--luzmo-dataset-selector-row-button-border-color, var(--dataset-selector-row-button-border-color))}:host[disabled] .removable-pill{cursor:not-allowed}:host[disabled] .removable-pill:hover{background-color:var(--luzmo-dataset-selector-row-pill-background, var(--dataset-selector-row-pill-background));border-color:var(--luzmo-dataset-selector-row-pill-border-color, var(--dataset-selector-row-pill-border-color))}:host[disabled] .removable-pill:hover .dataset-icon{display:flex}:host[disabled] .removable-pill:hover .close-icon{display:none}:host .removable-pill{box-sizing:border-box;display:flex;flex-direction:row;max-width:var(--luzmo-dataset-selector-row-pill-max-width, var(--dataset-selector-row-pill-max-width));height:var(--luzmo-dataset-selector-row-pill-height, var(--dataset-selector-row-pill-height));padding:var(--luzmo-dataset-selector-row-pill-padding, var(--dataset-selector-row-pill-padding));gap:var(--luzmo-dataset-selector-row-pill-gap, var(--dataset-selector-row-pill-gap));border-radius:var(--luzmo-dataset-selector-row-pill-border-radius, var(--dataset-selector-row-pill-border-radius));border:1px solid var(--luzmo-dataset-selector-row-pill-border-color, var(--dataset-selector-row-pill-border-color));background-color:var(--luzmo-dataset-selector-row-pill-background, var(--dataset-selector-row-pill-background));align-items:center;cursor:pointer;transition:all .15s ease}:host .removable-pill:hover{background-color:var(--luzmo-dataset-selector-row-pill-hover-background, var(--dataset-selector-row-pill-hover-background));border-color:var(--luzmo-dataset-selector-row-pill-hover-border-color, var(--dataset-selector-row-pill-hover-border-color))}:host .removable-pill:hover .dataset-icon{display:none}:host .removable-pill:hover .close-icon{display:inline-block;color:var(--luzmo-dataset-selector-row-pill-close-color, var(--dataset-selector-row-pill-close-color))}:host .removable-pill .close-icon{width:var(--luzmo-dataset-selector-row-pill-close-size, var(--dataset-selector-row-pill-close-size));display:none;flex-shrink:0}:host .removable-pill .dataset-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--luzmo-dataset-selector-row-pill-icon-size, var(--dataset-selector-row-pill-icon-size));height:var(--luzmo-dataset-selector-row-pill-icon-size, var(--dataset-selector-row-pill-icon-size))}:host .removable-pill .dataset-icon luzmo-icon{display:flex}:host .removable-pill .dataset-icon-img{width:var(--luzmo-dataset-selector-row-pill-icon-size, var(--dataset-selector-row-pill-icon-size));height:var(--luzmo-dataset-selector-row-pill-icon-size, var(--dataset-selector-row-pill-icon-size));object-fit:contain}:host .removable-pill .dataset-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;line-height:var(--luzmo-dataset-selector-row-pill-text-line-height, var(--dataset-selector-row-pill-text-line-height))}:host luzmo-popover{width:var(--luzmo-dataset-selector-row-popover-width, var(--dataset-selector-row-popover-width));height:var(--luzmo-dataset-selector-row-popover-height, var(--dataset-selector-row-popover-height))}:host{--dataset-selector-row-gap: var(--luzmo-spacing-2);--dataset-selector-row-min-height: 1.75rem;--dataset-selector-row-font-size: .75rem;--dataset-selector-row-color: var(--luzmo-font-color);--dataset-selector-row-font-family: var(--luzmo-font-family);--dataset-selector-row-button-gap: var(--luzmo-spacing-1);--dataset-selector-row-button-min-width: 1.75rem;--dataset-selector-row-button-height: 1.75rem;--dataset-selector-row-button-border-radius: .5rem;--dataset-selector-row-button-border-color: var(--luzmo-border-color);--dataset-selector-row-button-background: var(--luzmo-background-color-alt-1, rgba(248, 248, 248, 1));--dataset-selector-row-button-color: var(--luzmo-font-color-tertiary, rgba(165, 165, 165, 1));--dataset-selector-row-button-padding: .25rem .375rem;--dataset-selector-row-button-icon-only-padding: .25rem;--dataset-selector-row-button-icon-size: .875rem;--dataset-selector-row-button-icon-color: var(--luzmo-font-color-tertiary);--dataset-selector-row-button-hover-background: var(--luzmo-background-color-highlight, rgba(248, 248, 248, 1));--dataset-selector-row-button-hover-border-color: var(--luzmo-border-color-hover);--dataset-selector-row-button-focus-outline-color: var(--luzmo-primary);--dataset-selector-row-pill-max-width: 10rem;--dataset-selector-row-pill-height: 1.75rem;--dataset-selector-row-pill-padding: .125rem .5rem;--dataset-selector-row-pill-gap: var(--luzmo-spacing-2);--dataset-selector-row-pill-border-radius: .5rem;--dataset-selector-row-pill-border-color: var(--luzmo-border-color);--dataset-selector-row-pill-background: var(--luzmo-background-color-alt-1, rgba(248, 248, 248, 1));--dataset-selector-row-pill-hover-background: var(--luzmo-background-color-highlight, rgba(248, 248, 248, 1));--dataset-selector-row-pill-hover-border-color: var(--luzmo-border-color-hover);--dataset-selector-row-pill-icon-size: 1rem;--dataset-selector-row-pill-close-size: 1rem;--dataset-selector-row-pill-close-color: var(--luzmo-danger, #dc3545);--dataset-selector-row-pill-text-line-height: 1.2;--dataset-selector-row-popover-width: 23.75rem;--dataset-selector-row-popover-height: 15rem}";var w=Object.defineProperty,l=(u,e,t,s)=>{for(var r=void 0,i=u.length-1,p;i>=0;i--)(p=u[i])&&(r=p(e,t,r)||r);return r&&w(e,t,r),r};const n=class n extends d.LitElement{constructor(){super(...arguments),this.selectedDatasets=[],this.buttonLabel="Add dataset",this.authKey="",this.authToken="",this.apiUrl="https://api.luzmo.com",this.appServer="https://app.luzmo.com",this.flagOpendata=!1,this.disabled=!1,this._overlayOpen=!1}get _hasSelectedDatasets(){return this.selectedDatasets.length>0}get _selectedDatasetIds(){return new Set(this.selectedDatasets.map(e=>e.id))}_handleAddDatasetClick(){this.disabled||(this._overlayOpen=!this._overlayOpen)}_handleDatasetSelected(e){var r;const t=e.detail;if(!this._selectedDatasetIds.has(t.id)){const i=[...this.selectedDatasets,t];this.selectedDatasets=i,this.dispatchEvent(new CustomEvent("dataset-selected",{detail:t,bubbles:!0,composed:!0}))}const s=(r=this.shadowRoot)==null?void 0:r.getElementById("add-dataset-button");s&&s.click(),this._overlayOpen=!1}_handleDatasetRemoved(e){if(this.disabled)return;const t=this.selectedDatasets.filter(s=>s.id!==e.id);this.selectedDatasets=t,this.dispatchEvent(new CustomEvent("dataset-removed",{detail:e,bubbles:!0,composed:!0}))}_getDatasetName(e){const t=v.getLocale();return h.localize(e.name,t)||e.id||"Unknown Dataset"}_renderDatasetIcon(e){return d.html`
|
|
21
|
+
<luzmo-dataset-icon
|
|
22
|
+
.datasetInfo=${e}
|
|
23
|
+
size="16px"
|
|
24
|
+
app-url=${this.appServer}
|
|
25
|
+
></luzmo-dataset-icon>
|
|
26
|
+
`}_renderAddButton(){return d.html`
|
|
27
|
+
<button
|
|
28
|
+
id="add-dataset-button"
|
|
29
|
+
type="button"
|
|
30
|
+
class="add-dataset-button ${this._hasSelectedDatasets?"icon-only":""}"
|
|
31
|
+
?disabled=${this.disabled}
|
|
32
|
+
@click=${this._handleAddDatasetClick}
|
|
33
|
+
>
|
|
34
|
+
${c.luzmoIcon(c.luzmoPlus)}
|
|
35
|
+
${this._hasSelectedDatasets?d.nothing:this.buttonLabel}
|
|
36
|
+
</button>
|
|
37
|
+
`}_renderDatasetPill(e){return d.html`
|
|
38
|
+
<div class="removable-pill" @click=${this._createDatasetRemovedHandler(e)}>
|
|
39
|
+
<div class="dataset-icon">
|
|
40
|
+
${this._renderDatasetIcon(e)}
|
|
41
|
+
</div>
|
|
42
|
+
<span class="close-icon">${c.luzmoIcon(c.luzmoClose16)}</span>
|
|
43
|
+
<span
|
|
44
|
+
class="dataset-name text-truncate"
|
|
45
|
+
title=${this._getDatasetName(e)}
|
|
46
|
+
>
|
|
47
|
+
${this._getDatasetName(e)}
|
|
48
|
+
</span>
|
|
49
|
+
<luzmo-tooltip
|
|
50
|
+
self-managed
|
|
51
|
+
placement="top"
|
|
52
|
+
show-only-if-truncated
|
|
53
|
+
truncated-element-selector=".dataset-name"
|
|
54
|
+
>
|
|
55
|
+
${this._getDatasetName(e)}
|
|
56
|
+
</luzmo-tooltip>
|
|
57
|
+
</div>
|
|
58
|
+
`}_handleOverlayOpened(){this._overlayOpen=!0,requestAnimationFrame(()=>{var s,r;const e=(s=this.shadowRoot)==null?void 0:s.querySelector("luzmo-dataset-selector-list"),t=(r=e==null?void 0:e.shadowRoot)==null?void 0:r.querySelector(".search-input");t&&t.focus()})}_handleOverlayClosed(){this._overlayOpen=!1}_createDatasetRemovedHandler(e){return()=>this._handleDatasetRemoved(e)}_renderOverlay(){return d.html`
|
|
59
|
+
<luzmo-overlay
|
|
60
|
+
id="dataset-overlay"
|
|
61
|
+
trigger="add-dataset-button@click"
|
|
62
|
+
placement="top-start"
|
|
63
|
+
@luzmo-opened=${this._handleOverlayOpened}
|
|
64
|
+
@luzmo-closed=${this._handleOverlayClosed}
|
|
65
|
+
>
|
|
66
|
+
<luzmo-popover style="position: relative">
|
|
67
|
+
<luzmo-dataset-selector-list
|
|
68
|
+
.selectedDatasets=${this._selectedDatasetIds}
|
|
69
|
+
auth-key=${this.authKey}
|
|
70
|
+
auth-token=${this.authToken}
|
|
71
|
+
api-url=${this.apiUrl}
|
|
72
|
+
app-server=${this.appServer}
|
|
73
|
+
?flag-opendata=${this.flagOpendata}
|
|
74
|
+
@dataset-selected=${this._handleDatasetSelected}
|
|
75
|
+
></luzmo-dataset-selector-list>
|
|
76
|
+
</luzmo-popover>
|
|
77
|
+
</luzmo-overlay>
|
|
78
|
+
`}render(){return d.html`
|
|
79
|
+
${this._renderAddButton()}
|
|
80
|
+
${b.repeat(this.selectedDatasets,e=>e.id,e=>this._renderDatasetPill(e))}
|
|
81
|
+
${this._renderOverlay()}
|
|
82
|
+
`}};n.styles=d.unsafeCSS(m),n.tagName="luzmo-dataset-selector-row";let o=n;l([a.property({type:Array})],o.prototype,"selectedDatasets");l([a.property({type:String,attribute:"button-label"})],o.prototype,"buttonLabel");l([a.property({type:String,attribute:"auth-key"})],o.prototype,"authKey");l([a.property({type:String,attribute:"auth-token"})],o.prototype,"authToken");l([a.property({type:String,attribute:"api-url"})],o.prototype,"apiUrl");l([a.property({type:String,attribute:"app-server"})],o.prototype,"appServer");l([a.property({type:Boolean,attribute:"flag-opendata"})],o.prototype,"flagOpendata");l([a.property({type:Boolean,reflect:!0,attribute:"disabled"})],o.prototype,"disabled");l([a.state()],o.prototype,"_overlayOpen");customElements.get("luzmo-dataset-selector-row")||customElements.define("luzmo-dataset-selector-row",o);exports.LuzmoDatasetSelectorRow=o;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LuzmoDatasetSelectorRow } from './dataset-selector-row';
|
|
2
|
-
export { LuzmoDatasetSelectorRow } from './dataset-selector-row';
|
|
3
2
|
declare global {
|
|
4
3
|
interface HTMLElementTagNameMap {
|
|
5
4
|
'luzmo-dataset-selector-row': LuzmoDatasetSelectorRow;
|
|
6
5
|
}
|
|
7
6
|
}
|
|
7
|
+
export { LuzmoDatasetSelectorRow } from './dataset-selector-row';
|