@genexus/genexus-ide-ui 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +272 -293
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -3
- package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +5 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +20 -1
- package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -1
- package/dist/collection/components/_helpers/ide-loader/ide-loader.css +2 -2
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
- package/dist/collection/components/kb-manager-export/helpers.js +64 -105
- package/dist/collection/components/kb-manager-export/helpers.js.map +1 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +19 -618
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +345 -377
- package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
- package/dist/collection/components/kb-manager-export/types.js +2 -0
- package/dist/collection/components/kb-manager-export/types.js.map +1 -0
- package/dist/collection/components/start-page/recent-news.js +1 -1
- package/dist/collection/components/start-page/recent-news.js.map +1 -1
- package/dist/collection/components/start-page/start-page.js +4 -3
- package/dist/collection/components/start-page/start-page.js.map +1 -1
- package/dist/components/gx-ide-empty-state2.js +4 -2
- package/dist/components/gx-ide-empty-state2.js.map +1 -1
- package/dist/components/gx-ide-kb-manager-export.js +294 -314
- package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
- package/dist/components/gx-ide-start-page.js +4 -3
- package/dist/components/gx-ide-start-page.js.map +1 -1
- package/dist/components/ide-loader.js +1 -1
- package/dist/components/ide-loader.js.map +1 -1
- package/dist/components/recent-news.js +1 -1
- package/dist/components/recent-news.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-empty-state.entry.js +3 -2
- package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +273 -294
- package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
- package/dist/esm/gx-ide-loader.entry.js +1 -1
- package/dist/esm/gx-ide-loader.entry.js.map +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js +1 -1
- package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +4 -3
- package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +3 -3
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.ja.json +4 -4
- package/dist/genexus-ide-ui/p-2cb766ce.entry.js +493 -0
- package/dist/genexus-ide-ui/p-2cb766ce.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f924f02a.entry.js → p-64101478.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-64101478.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-f220c75a.entry.js → p-885302c2.entry.js} +11 -6
- package/dist/genexus-ide-ui/p-885302c2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-eb49e4f1.entry.js → p-8ff5da93.entry.js} +36 -31
- package/dist/genexus-ide-ui/p-8ff5da93.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-dd07e68a.entry.js → p-a6b76120.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-a6b76120.entry.js.map +1 -0
- package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +4 -0
- package/dist/types/components/kb-manager-export/helpers.d.ts +33 -5
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +36 -98
- package/dist/types/components/kb-manager-export/types.d.ts +21 -0
- package/dist/types/components.d.ts +16 -40
- package/package.json +4 -4
- package/dist/genexus-ide-ui/p-b3baa3d2.entry.js +0 -491
- package/dist/genexus-ide-ui/p-b3baa3d2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-dd07e68a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-eb49e4f1.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f220c75a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +0 -1
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { r, h as e, H as a, g as t } from "./p-aaed592c.js";
|
|
2
2
|
|
|
3
|
-
const o = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:flex;align-items:center;justify-content:center;text-align:center;animation:fadeIn var(--mer-timing--fast) forwards;inline-size:100%;position:relative;inset-block-start:0}.main-container{max-width:320px;margin:0 auto;gap:var(--mer-spacing--md);padding:var(--mer-spacing--md)}.main-container__icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.main-container__content{gap:var(--mer-spacing--sm)}.main-container,.main-container__content{display:flex;align-items:center;flex-direction:column}@keyframes fadeIn{0%{opacity:0;inset-block-start:5px}}";
|
|
3
|
+
const o = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:flex;align-items:center;justify-content:center;text-align:center;inline-size:100%;position:relative}:host(.animate){animation:fadeIn var(--mer-timing--fast) forwards;inset-block-start:0}.main-container{max-width:320px;margin:0 auto;gap:var(--mer-spacing--md);padding:var(--mer-spacing--md)}.main-container__icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;pointer-events:none}.main-container__content{gap:var(--mer-spacing--sm)}.main-container,.main-container__content{display:flex;align-items:center;flex-direction:column}@keyframes fadeIn{0%{opacity:0;inset-block-start:5px}}";
|
|
4
4
|
|
|
5
5
|
const i = [ "resets/box-sizing", "components/button", "components/icon", "utils/typography" ];
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const s = class {
|
|
8
8
|
constructor(e) {
|
|
9
9
|
r(this, e);
|
|
10
|
+
this.isAnimated = false;
|
|
10
11
|
this.stateDescription = undefined;
|
|
11
12
|
this.stateIconSrc = undefined;
|
|
12
13
|
this.stateTitle = undefined;
|
|
13
14
|
}
|
|
14
15
|
render() {
|
|
15
|
-
return e(a,
|
|
16
|
+
return e(a, {
|
|
17
|
+
class: {
|
|
18
|
+
animate: this.isAnimated
|
|
19
|
+
}
|
|
20
|
+
}, e("ch-theme", {
|
|
16
21
|
model: i
|
|
17
22
|
}), e("article", {
|
|
18
23
|
class: "main-container"
|
|
@@ -34,7 +39,7 @@ const l = class {
|
|
|
34
39
|
}
|
|
35
40
|
};
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
s.style = o;
|
|
38
43
|
|
|
39
|
-
export {
|
|
40
|
-
//# sourceMappingURL=p-
|
|
44
|
+
export { s as gx_ide_empty_state };
|
|
45
|
+
//# sourceMappingURL=p-885302c2.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gxIdeEmptyStateCss","CSS_BUNDLES","GxIdeEmptyState","render","h","Host","class","animate","this","isAnimated","model","stateIconSrc","src","stateTitle","stateDescription"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n\n:host {\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n inline-size: 100%;\n position: relative;\n}\n:host(.animate) {\n animation: fadeIn var(--mer-timing--fast) forwards;\n inset-block-start: 0;\n}\n.main-container {\n max-width: 320px;\n margin: 0 auto;\n gap: var(--mer-spacing--md);\n padding: var(--mer-spacing--md);\n\n &__icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n }\n\n &__content {\n gap: var(--mer-spacing--sm);\n }\n}\n.main-container,\n.main-container__content {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n inset-block-start: 5px;\n }\n}\n","import { Component, Host, h, Prop, Element } from \"@stencil/core\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n @Element() el: HTMLGxIdeEmptyStateElement;\n\n /**\n * Includes a subtle entry animation\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() readonly isAnimated: boolean = false;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The state icon\n */\n @Prop() readonly stateIconSrc?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n render() {\n return (\n <Host class={{ animate: this.isAnimated }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <article class=\"main-container\">\n {this.stateIconSrc && (\n <span class=\"main-container__icon-wrapper\">\n <ch-image src={this.stateIconSrc} class=\"icon-md\"></ch-image>\n </span>\n )}\n <div class=\"main-container__content\">\n {this.stateTitle && (\n <h2 class=\"text-body-regular-m\">{this.stateTitle}</h2>\n )}\n {this.stateDescription && (\n <p class=\"text-body-regular-s\">{this.stateDescription}</p>\n )}\n </div>\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n"],"mappings":";;AAAA,MAAMA,IAAqB;;ACG3B,MAAMC,IAA8B,EAClC,qBACA,qBACA,mBACA;;MAQWC,IAAe;;;sBAOa;;;;;EAiBvC,MAAAC;IACE,OACEC,EAACC,GAAI;MAACC,OAAO;QAAEC,SAASC,KAAKC;;OAC3BL,EAAA;MAAUM,OAAOT;QACjBG,EAAA;MAASE,OAAM;OACZE,KAAKG,gBACJP,EAAA;MAAME,OAAM;OACVF,EAAA;MAAUQ,KAAKJ,KAAKG;MAAcL,OAAM;SAG5CF,EAAA;MAAKE,OAAM;OACRE,KAAKK,cACJT,EAAA;MAAIE,OAAM;OAAuBE,KAAKK,aAEvCL,KAAKM,oBACJV,EAAA;MAAGE,OAAM;OAAuBE,KAAKM,oBAGzCV,EAAA"}
|
|
@@ -23,54 +23,56 @@ var g = undefined && undefined.__classPrivateFieldSet || function(n, e, t, r, a)
|
|
|
23
23
|
return r === "a" ? a.call(n, t) : a ? a.value = t : e.set(n, t), t;
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
-
var f, h, b, v, m, p, u, y, x, w;
|
|
26
|
+
var f, h, b, v, m, p, u, y, x, w, k;
|
|
27
27
|
|
|
28
|
-
const
|
|
28
|
+
const _ = [ "resets/box-sizing", "utils/typography", "utils/layout", "components/edit", "components/icon", "components/button", "chameleon/scrollbar" ];
|
|
29
29
|
|
|
30
|
-
const
|
|
30
|
+
const z = a({
|
|
31
31
|
category: "objects",
|
|
32
32
|
name: "knowledge-base"
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
const
|
|
35
|
+
const T = a({
|
|
36
36
|
category: "system",
|
|
37
37
|
name: "folder",
|
|
38
38
|
colorType: "on-elevation"
|
|
39
39
|
});
|
|
40
40
|
|
|
41
|
-
const
|
|
41
|
+
const M = class {
|
|
42
42
|
constructor(t) {
|
|
43
43
|
n(this, t);
|
|
44
44
|
f.set(this, void 0);
|
|
45
45
|
h.set(this, "");
|
|
46
|
-
b.set(this,
|
|
46
|
+
b.set(this, {});
|
|
47
|
+
// Object to store kbs refs
|
|
48
|
+
v.set(this, (() => {
|
|
47
49
|
var n;
|
|
48
50
|
if (((n = this.kbs) === null || n === void 0 ? void 0 : n.length) > 0) {
|
|
49
|
-
return d(this,
|
|
51
|
+
return d(this, x, "f").call(this);
|
|
50
52
|
} else {
|
|
51
53
|
return e("gx-ide-empty-state", {
|
|
52
54
|
class: "kbs-empty-state",
|
|
53
|
-
stateIconSrc:
|
|
55
|
+
stateIconSrc: T,
|
|
54
56
|
stateTitle: this._componentLocale.emptyState.title,
|
|
55
57
|
stateDescription: this._componentLocale.emptyState.description
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
60
|
}));
|
|
59
|
-
|
|
61
|
+
m.set(this, (() => {
|
|
60
62
|
this.filteredKbs = this.kbs.filter((n => {
|
|
61
63
|
var e;
|
|
62
64
|
return (e = n.name) === null || e === void 0 ? void 0 : e.toLowerCase().includes(d(this, h, "f"));
|
|
63
65
|
}));
|
|
64
66
|
}));
|
|
65
|
-
|
|
67
|
+
p.set(this, (async () => new Promise((async n => {
|
|
66
68
|
this.news = await this.getNewsCallback();
|
|
67
69
|
n(this.news);
|
|
68
70
|
}))));
|
|
69
|
-
|
|
71
|
+
u.set(this, (async n => {
|
|
70
72
|
const e = n.currentTarget.id;
|
|
71
73
|
await this.openKbCallback(e);
|
|
72
74
|
}));
|
|
73
|
-
|
|
75
|
+
y.set(this, (n => {
|
|
74
76
|
var t, r;
|
|
75
77
|
const a = s(n.lastOpenedDate, "pretty");
|
|
76
78
|
const o = a ? `${this._componentLocale.recentKbs.lastOpened} ${a}` : null;
|
|
@@ -86,35 +88,37 @@ const T = class {
|
|
|
86
88
|
id: n.id,
|
|
87
89
|
key: n.id,
|
|
88
90
|
type: "button",
|
|
89
|
-
|
|
91
|
+
ref: e => d(this, b, "f")[n.id] = e,
|
|
92
|
+
onClick: d(this, u, "f")
|
|
90
93
|
}, e("div", {
|
|
91
94
|
class: "card-kb__left-col"
|
|
92
95
|
}, e("ch-image", {
|
|
93
|
-
src:
|
|
94
|
-
class: "icon-md"
|
|
96
|
+
src: z,
|
|
97
|
+
class: "icon-md",
|
|
98
|
+
containerRef: d(this, b, "f")[n.id]
|
|
95
99
|
}), e("h2", {
|
|
96
100
|
class: i.headingsClasses.cardSmall
|
|
97
101
|
}, l(n.name, d(this, h, "f")))), o && e("div", {
|
|
98
102
|
class: "card-kb__right-col"
|
|
99
103
|
}, o)));
|
|
100
104
|
}));
|
|
101
|
-
|
|
105
|
+
x.set(this, (() => {
|
|
102
106
|
var n;
|
|
103
107
|
if (this.filteredKbs.length) {
|
|
104
108
|
return e("div", {
|
|
105
109
|
class: "kbs-container scrollable"
|
|
106
|
-
}, (n = this.filteredKbs) === null || n === void 0 ? void 0 : n.map(d(this,
|
|
110
|
+
}, (n = this.filteredKbs) === null || n === void 0 ? void 0 : n.map(d(this, y, "f")));
|
|
107
111
|
}
|
|
108
112
|
return e("gx-ide-empty-state", {
|
|
109
|
-
stateIconSrc:
|
|
113
|
+
stateIconSrc: z,
|
|
110
114
|
stateTitle: this._componentLocale.recentKbs.noKbsFiltered.title
|
|
111
115
|
});
|
|
112
116
|
}));
|
|
113
|
-
|
|
117
|
+
w.set(this, (n => {
|
|
114
118
|
g(this, h, n.target.value.toLowerCase(), "f");
|
|
115
|
-
d(this,
|
|
119
|
+
d(this, m, "f").call(this);
|
|
116
120
|
}));
|
|
117
|
-
|
|
121
|
+
k.set(this, (n => {
|
|
118
122
|
this.newsFilterValue = n.target.value.toLowerCase();
|
|
119
123
|
}));
|
|
120
124
|
this.displayKbsFilter = true;
|
|
@@ -141,7 +145,7 @@ const T = class {
|
|
|
141
145
|
}
|
|
142
146
|
kbsChanged(n) {
|
|
143
147
|
this.loadingKbs = false;
|
|
144
|
-
d(this,
|
|
148
|
+
d(this, m, "f").call(this);
|
|
145
149
|
if ((n === null || n === void 0 ? void 0 : n.length) >= this.kbsFilterThreshold) {
|
|
146
150
|
this.displayKbsFilter = true;
|
|
147
151
|
} else {
|
|
@@ -160,7 +164,7 @@ const T = class {
|
|
|
160
164
|
return e(t, {
|
|
161
165
|
class: "start-page-host"
|
|
162
166
|
}, e("ch-theme", {
|
|
163
|
-
model:
|
|
167
|
+
model: _
|
|
164
168
|
}), e("div", {
|
|
165
169
|
class: "layout layout-main layout--cols-2"
|
|
166
170
|
}, e("div", {
|
|
@@ -178,14 +182,14 @@ const T = class {
|
|
|
178
182
|
type: "text",
|
|
179
183
|
class: "form-input recent-kbs__name-filter",
|
|
180
184
|
placeholder: this._componentLocale.recentKbs.placeholder,
|
|
181
|
-
onInput: d(this,
|
|
185
|
+
onInput: d(this, w, "f"),
|
|
182
186
|
ref: n => g(this, f, n, "f"),
|
|
183
187
|
disabled: !(((n = this.kbs) === null || n === void 0 ? void 0 : n.length) > 0)
|
|
184
188
|
})), this.loadingKbs ? e("gx-ide-loader", {
|
|
185
189
|
loaderTitle: this._componentLocale.recentKbs.loader.title,
|
|
186
190
|
description: this._componentLocale.recentKbs.loader.description,
|
|
187
191
|
show: true
|
|
188
|
-
}) : d(this,
|
|
192
|
+
}) : d(this, v, "f").call(this))), e("div", {
|
|
189
193
|
class: "layout__panel panel-recent-news"
|
|
190
194
|
}, e("section", {
|
|
191
195
|
class: "card-regular recent-news"
|
|
@@ -197,10 +201,10 @@ const T = class {
|
|
|
197
201
|
type: "text",
|
|
198
202
|
class: "form-input recent-news__filter",
|
|
199
203
|
placeholder: this._componentLocale.recentNews.inputPlaceholder,
|
|
200
|
-
onInput: ((r = this.news) === null || r === void 0 ? void 0 : r.length) > 0 ? d(this,
|
|
204
|
+
onInput: ((r = this.news) === null || r === void 0 ? void 0 : r.length) > 0 ? d(this, k, "f") : null,
|
|
201
205
|
disabled: !(((a = this.news) === null || a === void 0 ? void 0 : a.length) > 0)
|
|
202
206
|
})), e("gx-ide-recent-news", {
|
|
203
|
-
getNewsCallback: d(this,
|
|
207
|
+
getNewsCallback: d(this, p, "f"),
|
|
204
208
|
openNewsCallback: this.openNewsCallback,
|
|
205
209
|
filterValue: this.newsFilterValue
|
|
206
210
|
})))));
|
|
@@ -220,9 +224,10 @@ const T = class {
|
|
|
220
224
|
};
|
|
221
225
|
|
|
222
226
|
f = new WeakMap, h = new WeakMap, b = new WeakMap, v = new WeakMap, m = new WeakMap,
|
|
223
|
-
p = new WeakMap, u = new WeakMap, y = new WeakMap, x = new WeakMap, w = new WeakMap
|
|
227
|
+
p = new WeakMap, u = new WeakMap, y = new WeakMap, x = new WeakMap, w = new WeakMap,
|
|
228
|
+
k = new WeakMap;
|
|
224
229
|
|
|
225
|
-
|
|
230
|
+
M.style = c;
|
|
226
231
|
|
|
227
|
-
export {
|
|
228
|
-
//# sourceMappingURL=p-
|
|
232
|
+
export { M as gx_ide_start_page };
|
|
233
|
+
//# sourceMappingURL=p-8ff5da93.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["startPageCss","CSS_BUNDLES","KB_ICON","getIconPath","category","name","FOLDER_ICON","colorType","GxIdeStartPage","_GxIdeStartPage_recentKbsFilter","set","this","_GxIdeStartPage_kbsFilterValue","_GxIdeStartPage_kbRefs","_GxIdeStartPage_evaluateRenderKbs","_a","kbs","length","__classPrivateFieldGet","_GxIdeStartPage_renderKbs","call","h","class","stateIconSrc","stateTitle","_componentLocale","emptyState","title","stateDescription","description","_GxIdeStartPage_filterKbs","filteredKbs","filter","kb","toLowerCase","includes","_GxIdeStartPage_getNewsCallbackRecentNews","async","Promise","resolve","news","getNewsCallback","_GxIdeStartPage_openKbHandler","e","kbId","currentTarget","id","openKbCallback","_GxIdeStartPage_renderKb","formattedDate","formatDate","lastOpenedDate","dateCaption","recentKbs","lastOpened","toLocaleLowerCase","_b","key","type","ref","el","onClick","src","containerRef","config","headingsClasses","cardSmall","hiChar","map","noKbsFiltered","_GxIdeStartPage_searchKbsInputHandler","event","__classPrivateFieldSet","target","value","_GxIdeStartPage_searchNewsInputHandler","newsFilterValue","watchNews","newsFilterThreshold","displayNewsFilter","kbsChanged","loadingKbs","kbsFilterThreshold","displayKbsFilter","componentWillLoad","Locale","getComponentStrings","componentDidLoad","focus","render","Host","model","cardRegular","placeholder","onInput","disabled","loaderTitle","loader","show","recentNews","inputPlaceholder","_c","openNewsCallback","filterValue"],"sources":["src/components/start-page/start-page.scss?tag=gx-ide-start-page&encapsulation=shadow","src/components/start-page/start-page.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/reset.scss\";\n\n@include hiChar();\n\n:host {\n overflow: auto;\n container-type: inline-size;\n container-name: host;\n}\n\n.layout-main,\n.layout__panel {\n block-size: 100%;\n overflow: auto;\n}\n@container host (max-width: 768px) {\n .layout.layout-main {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n}\n\n// recent kb's\n.panel-recent-kbs {\n position: relative;\n}\n.recent-kbs,\n.recent-news {\n display: grid;\n grid-template-rows: auto 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n\n &__header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n}\n\n.kbs-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n overflow: auto;\n grid-auto-rows: max-content;\n container-type: inline-size;\n container-name: kb-container;\n animation: fadeIn var(--mer-timing--super-fast) forwards linear;\n}\n\n.card-kb {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--lg);\n container-type: inline-size;\n container-name: card-kb;\n\n &__left-col {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n }\n}\n@container kb-container (max-width: 360px) {\n .card-kb {\n align-items: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n justify-content: start;\n }\n}\n\n// recent news\ngx-ide-recent-news {\n overflow: auto;\n}\n.panel-recent-news {\n position: relative;\n}\n\n@keyframes exactMatchBright {\n 100% {\n filter: brightness(1.25);\n }\n}\n.exact-match-bright {\n animation: exactMatchBright var(--mer-timing--super-fast) ease-in-out 4\n alternate;\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { formatDate, hiChar } from \"../../common/helpers\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/layout\",\n \"components/edit\",\n \"components/icon\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\nconst KB_ICON = getIconPath({\n category: \"objects\",\n name: \"knowledge-base\"\n});\nconst FOLDER_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #recentKbsFilter: HTMLChEditElement;\n #kbsFilterValue: string = \"\";\n #kbRefs: { [key: string]: HTMLButtonElement | null } = {}; // Object to store kbs refs\n\n @Element() el: HTMLGxIdeStartPageElement;\n\n /**\n * The condition required to display the kbs filter\n */\n @State() displayKbsFilter: boolean = true;\n\n /**\n * The condition required to display the news filter\n */\n @State() displayNewsFilter: boolean = false;\n\n /**\n * The filtered KBs after user input\n */\n @State() filteredKbs: RecentKBData[] = [];\n\n /**\n * The filtered news after user input\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if kbs have been not loaded yet.\n */\n @State() loadingKbs: boolean = true;\n\n /**\n * A list of recent news\n */\n @State() news: NewsData[];\n @Watch(\"news\")\n watchNews(news: NewsData[]) {\n if (news?.length >= this.newsFilterThreshold) {\n this.displayNewsFilter = true;\n } else {\n this.displayNewsFilter = false;\n }\n }\n\n /**\n * The filter value for the recent news set by the user input\n */\n @State() newsFilterValue: string;\n\n /**\n * True if the component has been rendered for the first time.\n */\n @State() renderedFirstTime = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Ann array of the user's KB's\n */\n @Prop() readonly kbs: RecentKBData[] = [];\n @Watch(\"kbs\")\n kbsChanged(kbs: RecentKBData[]) {\n this.loadingKbs = false;\n this.#filterKbs();\n if (kbs?.length >= this.kbsFilterThreshold) {\n this.displayKbsFilter = true;\n } else {\n this.displayKbsFilter = false;\n }\n }\n\n /**\n * The minimum number of \"kbs\" that is required to display the kb's filter.\n */\n @Prop() readonly kbsFilterThreshold: number = 6;\n\n /**\n * The minimum number of \"news\" that is required to display the news's filter.\n */\n @Prop() readonly newsFilterThreshold: number = 6;\n\n /**\n * Callback invoked to open a knowledge base when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback!: OpenKbCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.#recentKbsFilter?.focus();\n }\n\n #evaluateRenderKbs = () => {\n if (this.kbs?.length > 0) {\n return this.#renderKbs();\n } else {\n return (\n <gx-ide-empty-state\n class=\"kbs-empty-state\"\n stateIconSrc={FOLDER_ICON}\n stateTitle={this._componentLocale.emptyState.title}\n stateDescription={this._componentLocale.emptyState.description}\n ></gx-ide-empty-state>\n );\n }\n };\n\n #filterKbs = () => {\n this.filteredKbs = this.kbs.filter(kb =>\n kb.name?.toLowerCase().includes(this.#kbsFilterValue)\n );\n };\n\n #getNewsCallbackRecentNews = async (): Promise<NewsData[]> => {\n return new Promise(async resolve => {\n this.news = await this.getNewsCallback();\n resolve(this.news);\n });\n };\n\n #openKbHandler = async (e: MouseEvent) => {\n const kbId = (e.currentTarget as HTMLElement).id;\n await this.openKbCallback(kbId);\n };\n\n #renderKb = (kb: RecentKBData): HTMLButtonElement | null => {\n const formattedDate = formatDate(kb.lastOpenedDate, \"pretty\");\n const dateCaption = formattedDate\n ? `${this._componentLocale.recentKbs.lastOpened} ${formattedDate}`\n : null;\n return (\n <article class=\"display-contents\">\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-kb\": true,\n \"exact-match-bright\":\n kb.name?.toLocaleLowerCase() ===\n this.#kbsFilterValue?.toLowerCase()\n }}\n id={kb.id}\n key={kb.id}\n type=\"button\"\n ref={el => (this.#kbRefs[kb.id] = el as HTMLButtonElement)}\n onClick={this.#openKbHandler}\n >\n <div class=\"card-kb__left-col\">\n <ch-image\n src={KB_ICON}\n class=\"icon-md\"\n containerRef={this.#kbRefs[kb.id]}\n ></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(kb.name, this.#kbsFilterValue)}\n </h2>\n </div>\n {dateCaption && <div class=\"card-kb__right-col\">{dateCaption}</div>}\n </button>\n </article>\n );\n };\n\n #renderKbs = () => {\n if (this.filteredKbs.length) {\n return (\n <div class=\"kbs-container scrollable\">\n {this.filteredKbs?.map(this.#renderKb)}\n </div>\n );\n }\n return (\n <gx-ide-empty-state\n stateIconSrc={KB_ICON}\n stateTitle={this._componentLocale.recentKbs.noKbsFiltered.title}\n ></gx-ide-empty-state>\n );\n };\n\n #searchKbsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.#kbsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n this.#filterKbs();\n };\n\n #searchNewsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.newsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n };\n\n render() {\n return (\n <Host class=\"start-page-host\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"layout layout-main layout--cols-2\">\n <div class=\"layout__panel panel-recent-kbs\">\n <section class=\"card-regular recent-kbs\">\n <header class=\"recent-kbs__header\">\n <h2\n class={{\n [config.headingsClasses.cardRegular]: true,\n \"recent-kbs__title\": true\n }}\n >\n {this._componentLocale.recentKbs.title}\n </h2>\n {this.displayKbsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-kbs__name-filter\"\n placeholder={this._componentLocale.recentKbs.placeholder}\n onInput={this.#searchKbsInputHandler}\n ref={el =>\n (this.#recentKbsFilter = el as HTMLChEditElement)\n }\n disabled={!(this.kbs?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n {this.loadingKbs ? (\n <gx-ide-loader\n loaderTitle={this._componentLocale.recentKbs.loader.title}\n description={\n this._componentLocale.recentKbs.loader.description\n }\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateRenderKbs()\n )}\n </section>\n </div>\n\n <div class=\"layout__panel panel-recent-news\">\n <section class=\"card-regular recent-news\">\n <header class=\"recent-news__header\">\n <h2 class={config.headingsClasses.cardRegular}>\n {this._componentLocale.recentNews.title}\n </h2>\n {this.displayNewsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-news__filter\"\n placeholder={\n this._componentLocale.recentNews.inputPlaceholder\n }\n onInput={\n this.news?.length > 0\n ? this.#searchNewsInputHandler\n : null\n }\n disabled={!(this.news?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n <gx-ide-recent-news\n getNewsCallback={this.#getNewsCallbackRecentNews}\n openNewsCallback={this.openNewsCallback}\n filterValue={this.newsFilterValue}\n ></gx-ide-recent-news>\n </section>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type OpenKbCallback = (id: string) => Promise<void>;\nexport type GetNewsCallback = () => Promise<NewsData[]>;\nexport type OpenNewsCallback = (id: string) => Promise<void>;\n\nexport type RecentKBData = {\n id: string;\n name: string;\n lastOpenedDate?: Date;\n};\nexport type NewsData = {\n id: string;\n title: string;\n body: string;\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as e, c as r, h as a, H as i } from "./p-aaed592c.js";
|
|
2
2
|
|
|
3
|
-
const o = ".loader__wrapper{position:absolute;border:none;opacity:0;transition:var(--show-transition) opacity;inline-size:100%;block-size:100%;display:flex;background-color:var(--gxg-ide-loader-wrapper__background-color--from);backdrop-filter:var(--gxg-ide-loader-wrapper__backdrop-filter);padding:var(--gxg-ide-loader-wrapper__padding);flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--gxg-ide-loader-wrapper__color);z-index:99}.loader__wrapper--visible{opacity:1}.loader__spinner{border:var(--gxg-ide-loader-spinner__border);border-block-start:var(--gxg-ide-loader-spinner__border-top);border-radius:50%;animation:spinner 0.6s infinite linear;inline-size:var(--gxg-ide-loader-spinner__width);block-size:var(--gxg-ide-loader-spinner__width);flex-shrink:0;opacity:1}.loader__content-wrapper{display:flex;text-align:center;flex-direction:column;margin-block-start:var(--gxg-ide-loader-content-wrapper__mbs);gap:var(--mer-spacing--
|
|
3
|
+
const o = ".loader__wrapper{position:absolute;border:none;opacity:0;transition:var(--show-transition) opacity;inline-size:100%;block-size:100%;display:flex;background-color:var(--gxg-ide-loader-wrapper__background-color--from);backdrop-filter:var(--gxg-ide-loader-wrapper__backdrop-filter);padding:var(--gxg-ide-loader-wrapper__padding);flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--gxg-ide-loader-wrapper__color);z-index:99;animation:fadeIn var(--mer-timing--fast) forwards}.loader__wrapper--visible{opacity:1}.loader__spinner{border:var(--gxg-ide-loader-spinner__border);border-block-start:var(--gxg-ide-loader-spinner__border-top);border-radius:50%;animation:spinner 0.6s infinite linear;inline-size:var(--gxg-ide-loader-spinner__width);block-size:var(--gxg-ide-loader-spinner__width);flex-shrink:0;opacity:1}.loader__content-wrapper{display:flex;text-align:center;flex-direction:column;margin-block-start:var(--gxg-ide-loader-content-wrapper__mbs);gap:var(--mer-spacing--md);max-block-size:var(--gxg-ide-loader-content-wrapper__max-width);opacity:1}.loader__content-wrapper--hidden{display:none}@keyframes wrapper{0%{background-color:var(--gxg-ide-loader-wrapper__background-color--from)}100%{background-color:var(--gxg-ide-loader-wrapper__background-color--to)}}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}:host([display-border]) .loader__wrapper{border:1px solid var(--mer-color__elevation--02)}@keyframes fadeIn{0%{opacity:0}}";
|
|
4
4
|
|
|
5
5
|
var t = undefined && undefined.__classPrivateFieldGet || function(e, r, a, i) {
|
|
6
6
|
if (a === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
|
|
@@ -70,4 +70,4 @@ n = new WeakMap, s = new WeakMap, d = new WeakMap, p = new WeakMap, l = new Weak
|
|
|
70
70
|
h.style = o;
|
|
71
71
|
|
|
72
72
|
export { h as gx_ide_loader };
|
|
73
|
-
//# sourceMappingURL=p-
|
|
73
|
+
//# sourceMappingURL=p-a6b76120.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ideLoaderCss","CSS_BUNDLES","IdeLoader","_IdeLoader_timeoutReference","set","this","_IdeLoader_cancelProcess","cancelCallback","clearTimeout","__classPrivateFieldGet","show","_IdeLoader_renderCancelButton","cancelLabel","h","class","type","onClick","_IdeLoader_renderDescription","description","_IdeLoader_renderTitle","loaderTitle","render","Host","model","showWrapper","part","popover","call"],"sources":["src/components/_helpers/ide-loader/ide-loader.scss?tag=gx-ide-loader&encapsulation=shadow","src/components/_helpers/ide-loader/ide-loader.tsx"],"sourcesContent":[".loader {\n &__wrapper {\n position: absolute;\n border: none;\n opacity: 0;\n transition: var(--show-transition) opacity;\n inline-size: 100%;\n block-size: 100%;\n display: flex;\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n backdrop-filter: var(--gxg-ide-loader-wrapper__backdrop-filter);\n padding: var(--gxg-ide-loader-wrapper__padding);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n color: var(--gxg-ide-loader-wrapper__color);\n z-index: 99; // WA to prevent tree-view chevron arrow to appear above.\n animation: fadeIn var(--mer-timing--fast) forwards;\n\n &--visible {\n opacity: 1;\n }\n }\n &__spinner {\n border: var(--gxg-ide-loader-spinner__border);\n border-block-start: var(--gxg-ide-loader-spinner__border-top);\n border-radius: 50%;\n animation: spinner 0.6s infinite linear;\n inline-size: var(--gxg-ide-loader-spinner__width);\n block-size: var(--gxg-ide-loader-spinner__width);\n flex-shrink: 0;\n opacity: 1;\n }\n\n &__content-wrapper {\n display: flex;\n text-align: center;\n flex-direction: column;\n margin-block-start: var(--gxg-ide-loader-content-wrapper__mbs);\n gap: var(--mer-spacing--md);\n max-block-size: var(--gxg-ide-loader-content-wrapper__max-width);\n &--hidden {\n display: none;\n }\n opacity: 1;\n }\n}\n\n/*background color animation*/\n@keyframes wrapper {\n 0% {\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n }\n 100% {\n background-color: var(--gxg-ide-loader-wrapper__background-color--to);\n }\n}\n@keyframes spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n:host([display-border]) {\n .loader {\n &__wrapper {\n border: 1px solid var(--mer-color__elevation--02);\n }\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-loader\",\n styleUrl: \"ide-loader.scss\",\n shadow: true\n})\nexport class IdeLoader {\n #timeoutReference: ReturnType<typeof setTimeout>;\n\n /**\n * shows the '.loader-wrapper'\n */\n @State() showWrapper = true;\n\n /**\n * The time the loader will await before abort.\n */\n @Prop() readonly abortTime: number = 5 * 60 * 1000; // 5 minutes\n\n /**\n * The cancel callback\n */\n @Prop() readonly cancelCallback: IdeLoaderCancelCallback;\n\n /**\n * The cancel button label (optional)\n */\n @Prop() readonly cancelLabel: string;\n\n /**\n * The loader description (optional)\n */\n @Prop() readonly description: string;\n\n /**\n * Displays a border all around\n */\n @Prop({ reflect: true }) readonly displayBorder: boolean = false;\n\n /**\n * The loader title (optional)\n */\n @Prop() readonly loaderTitle: string;\n\n /**\n * It shows the loader\n */\n @Prop({ mutable: true }) show = false;\n\n /**\n * This event is emitted when \"show\" is false.\n */\n @Event() loaderFinished: EventEmitter<void>;\n\n #cancelProcess = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n clearTimeout(this.#timeoutReference);\n this.show = false;\n };\n\n #renderCancelButton = (): HTMLButtonElement | null =>\n this.cancelLabel && (\n <div>\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#cancelProcess}\n >\n {this.cancelLabel}\n </button>\n </div>\n );\n\n #renderDescription = (): HTMLParagraphElement | null =>\n this.description && <p class=\"text-body-italic-s\">{this.description}</p>;\n\n #renderTitle = (): HTMLParagraphElement | null =>\n this.loaderTitle && <p class=\"text-body-regular-m\">{this.loaderTitle}</p>;\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.show && (\n <div\n class={{\n [`loader__wrapper`]: true,\n \"loader__wrapper--visible\": this.showWrapper\n }}\n part=\"loader-wrapper\"\n popover=\"\"\n >\n <div class=\"loader__spinner\"></div>\n <div\n class={{\n \"loader__content-wrapper\": true,\n \"loader__content-wrapper--hidden\":\n !this.description && !this.loaderTitle && !this.cancelLabel\n }}\n >\n {this.#renderTitle()}\n {this.#renderDescription()}\n {this.#renderCancelButton()}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type IdeLoaderCancelCallback = () => void;\n"],"mappings":";;AAAA,MAAMA,IAAe;;;;;;;;;;ACYrB,MAAMC,IAA8B,EAClC,qBACA,qBACA;;MAOWC,IAAS;;;;IACpBC,EAAAC,IAAAC,WAAA;IA+CAC,EAAAF,IAAAC,OAAiB;MACf,IAAIA,KAAKE,gBAAgB;QACvBF,KAAKE;;MAEPC,aAAaC,EAAAJ,MAAIF,GAAA;MACjBE,KAAKK,OAAO;AAAK;IAGnBC,EAAAP,IAAAC,OAAsB,MACpBA,KAAKO,eACHC,EAAA,aACEA,EAAA;MACEC,OAAM;MACNC,MAAK;MACLC,SAASP,EAAAJ,MAAIC,GAAA;OAEZD,KAAKO;IAKdK,EAAAb,IAAAC,OAAqB,MACnBA,KAAKa,eAAeL,EAAA;MAAGC,OAAM;OAAsBT,KAAKa;IAE1DC,EAAAf,IAAAC,OAAe,MACbA,KAAKe,eAAeP,EAAA;MAAGC,OAAM;OAAuBT,KAAKe;uBAnEpC;qBAKc,IAAI,KAAK;;;;yBAoBa;;gBAU3B;;EAkChC,MAAAC;IACE,OACER,EAACS,GAAI,MACHT,EAAA;MAAUU,OAAOtB;QAChBI,KAAKK,QACJG,EAAA;MACEC,OAAO;QACL,CAAC,oBAAoB;QACrB,4BAA4BT,KAAKmB;;MAEnCC,MAAK;MACLC,SAAQ;OAERb,EAAA;MAAKC,OAAM;QACXD,EAAA;MACEC,OAAO;QACL,2BAA2B;QAC3B,oCACGT,KAAKa,gBAAgBb,KAAKe,gBAAgBf,KAAKO;;OAGnDH,EAAAJ,MAAIc,GAAA,KAAaQ,KAAjBtB,OACAI,EAAAJ,MAAIY,GAAA,KAAmBU,KAAvBtB,OACAI,EAAAJ,MAAIM,GAAA,KAAoBgB,KAAxBtB"}
|
|
@@ -1,8 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ObjectData, KBPropertyData, KBPropertyType } from "./
|
|
1
|
+
import { TreeViewModel } from "@genexus/chameleon-controls-library";
|
|
2
|
+
import { ObjectData, KBPropertyData, KBPropertyType } from "./types";
|
|
3
3
|
import { ObjectType } from "../../common/types";
|
|
4
4
|
export declare const KB_PROPERTY = "property";
|
|
5
5
|
export declare const KB_OBJECT = "object";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Updates the tree model with the provided objects.
|
|
8
|
+
* Objects may already exist and are placed under their parent node.
|
|
9
|
+
* If the parent node doesn't exist (identified by typeId on ObjectTypes),
|
|
10
|
+
* it is created and added at the bottom.
|
|
11
|
+
*
|
|
12
|
+
* @param {ObjectData[] | undefined} objects - The array of objects to update.
|
|
13
|
+
* @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.
|
|
14
|
+
* @param {Set<string>} objectsSet - A set of existing object IDs.
|
|
15
|
+
* @param {TreeViewModel} actualTreeState - The current tree state to be updated.
|
|
16
|
+
* @returns {TreeViewModel} - The updated tree view model.
|
|
17
|
+
*/
|
|
18
|
+
export declare const updateObjectsTreeModel: (objects: ObjectData[] | undefined, objectTypesMap: Map<string, ObjectType>, objectsSet: Set<string>, actualTreeState: TreeViewModel) => TreeViewModel;
|
|
19
|
+
/**
|
|
20
|
+
* Converts an array of KB properties data into tree item data for a tree view.
|
|
21
|
+
*
|
|
22
|
+
* @param {KBPropertyData[]} properties - The array of KB property data.
|
|
23
|
+
* @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.
|
|
24
|
+
* @param {TreeViewModel} actualTreeState - The current state of the tree.
|
|
25
|
+
* @returns {TreeViewModel} - The updated tree view item models.
|
|
26
|
+
*/
|
|
27
|
+
export declare const convertKbPropertiesDataToTreeItemData: (properties: KBPropertyData[], kbPropertiesTypes: KBPropertyType[], actualTreeState: TreeViewModel) => TreeViewModel;
|
|
28
|
+
/**
|
|
29
|
+
* Removes properties from the tree model.
|
|
30
|
+
*
|
|
31
|
+
* @param {TreeViewModel} actualTreeState - The current state of the tree,
|
|
32
|
+
* containing various tree view items.
|
|
33
|
+
* @returns {TreeViewModel} - A new array of tree view items that excludes
|
|
34
|
+
* any items with metadata of type `KB_PROPERTY`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const clearKbPropertiesFromTree: (actualTreeState: TreeViewModel) => TreeViewModel;
|
|
@@ -1,61 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TreeViewItemModel } from "@genexus/chameleon-controls-library";
|
|
1
|
+
import { TreeViewModel } from "@genexus/chameleon-controls-library";
|
|
3
2
|
import { ObjectType } from "../../common/types";
|
|
3
|
+
import { KBPropertiesCallback, KBPropertyType, ExportFileDirectoryCallback, OptionsCallback, AddObjectsCallback, ExportCallback, AddReferencesCallback, CancelCallback } from "./types";
|
|
4
4
|
export declare class GxIdeKbManagerExport {
|
|
5
|
-
|
|
6
|
-
* The component hard-coded strings translations.
|
|
7
|
-
*/
|
|
8
|
-
private _componentLocale;
|
|
9
|
-
private checkedPropertiesIds;
|
|
10
|
-
private renderedFirstTime;
|
|
11
|
-
private flattenedObjectTypes;
|
|
5
|
+
#private;
|
|
12
6
|
el: HTMLGxIdeKbManagerExportElement;
|
|
13
|
-
private fileNameEl;
|
|
14
|
-
private exportAllCheckboxEl;
|
|
15
|
-
private objectsTreeEl;
|
|
16
|
-
private loaderEl;
|
|
17
|
-
private kBPropertiesData;
|
|
18
|
-
exportAllIsChecked: boolean;
|
|
19
7
|
addKbPropertiesIsChecked: boolean;
|
|
8
|
+
atLeastOnePropertyItemIsChecked: boolean;
|
|
9
|
+
atLeastOneObjectItemIsChecked: boolean;
|
|
20
10
|
checkedObjectsIds: string[];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
watchTreeModelHandler(newState: TreeViewItemModel[]): void;
|
|
11
|
+
checkedPropertiesIds: string[];
|
|
12
|
+
exportAllIsChecked: boolean;
|
|
24
13
|
exportingIsInProcess: boolean;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*/
|
|
29
|
-
readonly displayTitle = false;
|
|
30
|
-
/**
|
|
31
|
-
* It allows defining the default Export File Name
|
|
32
|
-
*/
|
|
33
|
-
readonly fileName: string;
|
|
34
|
-
/**
|
|
35
|
-
* If true, it will display a loader when needed.
|
|
36
|
-
*/
|
|
37
|
-
readonly loader = false;
|
|
38
|
-
/**
|
|
39
|
-
* Array with the possible types of KB properties
|
|
40
|
-
*/
|
|
41
|
-
readonly kbPropertiesTypes: KBPropertyType[];
|
|
42
|
-
/**
|
|
43
|
-
* Array of possible object types
|
|
44
|
-
*/
|
|
45
|
-
readonly objectTypes: ObjectType[];
|
|
46
|
-
watchObjectTypesHandler(newState: ObjectType[]): void;
|
|
47
|
-
/**
|
|
48
|
-
* Callback invoked when the user wants to access the export options.
|
|
49
|
-
*/
|
|
50
|
-
readonly exportFileDirectoryCallback: ExportFileDirectoryCallback;
|
|
51
|
-
/**
|
|
52
|
-
* Callback invoked when the user wants to access the export options.
|
|
53
|
-
*/
|
|
54
|
-
readonly optionsCallback: OptionsCallback;
|
|
14
|
+
hasObjects: boolean;
|
|
15
|
+
objectsTreeViewModel: TreeViewModel;
|
|
16
|
+
objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel): void;
|
|
55
17
|
/**
|
|
56
18
|
* Callback invoked when the user wants to include KB properties.
|
|
57
19
|
*/
|
|
58
20
|
readonly addKBPropertiesCallback: KBPropertiesCallback;
|
|
21
|
+
/**
|
|
22
|
+
* Callback invoked when the user wants to add objects.
|
|
23
|
+
*/
|
|
24
|
+
readonly addObjectsCallback: AddObjectsCallback;
|
|
59
25
|
/**
|
|
60
26
|
*Callback invoked when the user wants to add all the references for the selected objects.
|
|
61
27
|
*@param itemIds:string[] The selected item ids
|
|
@@ -63,9 +29,10 @@ export declare class GxIdeKbManagerExport {
|
|
|
63
29
|
*/
|
|
64
30
|
readonly addReferencesCallback: AddReferencesCallback;
|
|
65
31
|
/**
|
|
66
|
-
* Callback invoked when the user wants to
|
|
32
|
+
* Callback invoked when the user wants to cancel the export process.
|
|
33
|
+
* @returns It returns a boolean indicating whether the process could be canceled or not.
|
|
67
34
|
*/
|
|
68
|
-
readonly
|
|
35
|
+
readonly cancelCallback: CancelCallback;
|
|
69
36
|
/**
|
|
70
37
|
*Callback invoked when the user wants to initiate the export process.
|
|
71
38
|
*@param fileName:string
|
|
@@ -74,59 +41,30 @@ export declare class GxIdeKbManagerExport {
|
|
|
74
41
|
*/
|
|
75
42
|
readonly exportCallback: ExportCallback;
|
|
76
43
|
/**
|
|
77
|
-
* Callback invoked when the user wants to
|
|
78
|
-
* @returns It returns a boolean indicating whether the process could be canceled or not.
|
|
44
|
+
* Callback invoked when the user wants to access the export options.
|
|
79
45
|
*/
|
|
80
|
-
readonly
|
|
46
|
+
readonly exportFileDirectoryCallback: ExportFileDirectoryCallback;
|
|
47
|
+
/**
|
|
48
|
+
* It allows defining the default Export File Name
|
|
49
|
+
*/
|
|
50
|
+
readonly fileName: string;
|
|
81
51
|
/**
|
|
82
|
-
*
|
|
52
|
+
* Array with the possible types of KB properties
|
|
83
53
|
*/
|
|
84
|
-
|
|
54
|
+
readonly kbPropertiesTypes: KBPropertyType[];
|
|
85
55
|
/**
|
|
86
|
-
*
|
|
56
|
+
* If true, it will display a loader when needed.
|
|
87
57
|
*/
|
|
88
|
-
|
|
58
|
+
readonly loader = false;
|
|
59
|
+
/**
|
|
60
|
+
* Array of possible object types
|
|
61
|
+
*/
|
|
62
|
+
readonly objectTypes: ObjectType[];
|
|
63
|
+
objectTypesChanged(newObjectTypesArray: ObjectType[]): void;
|
|
64
|
+
/**
|
|
65
|
+
* Callback invoked when the user wants to access the export options.
|
|
66
|
+
*/
|
|
67
|
+
readonly optionsCallback: OptionsCallback;
|
|
89
68
|
componentWillLoad(): Promise<void>;
|
|
90
|
-
componentDidLoad(): void;
|
|
91
|
-
componentDidRender(): void;
|
|
92
|
-
private evaluateObjects;
|
|
93
|
-
private optionsCallbackHandler;
|
|
94
|
-
private addKBPropertiesCallbackHandler;
|
|
95
|
-
private addObjectsCallbackHandler;
|
|
96
|
-
private addReferencesCallbackHandler;
|
|
97
|
-
private updateObjects;
|
|
98
|
-
private objectsTreeCheckedItemsChangedHandler;
|
|
99
|
-
private exportCallbackHandler;
|
|
100
|
-
private cancelCallbackHandler;
|
|
101
|
-
private clearButtonHandler;
|
|
102
|
-
private exportAllChangedHandler;
|
|
103
|
-
private flattenObjectTypes;
|
|
104
|
-
private evaluateTreeViewFilters;
|
|
105
|
-
private evaluateContentToDisplay;
|
|
106
|
-
private renderMessage;
|
|
107
|
-
private clearButtonDisabledConditions;
|
|
108
|
-
private loaderCancelCallbackHandler;
|
|
109
|
-
private onClickCancelCallbackHandler;
|
|
110
69
|
render(): void;
|
|
111
70
|
}
|
|
112
|
-
export type KBPropertiesCallback = () => Promise<KBPropertyData[]>;
|
|
113
|
-
export type KBPropertyData = {
|
|
114
|
-
typeId: string;
|
|
115
|
-
id: string;
|
|
116
|
-
name: string;
|
|
117
|
-
};
|
|
118
|
-
export type KBPropertyType = {
|
|
119
|
-
id: string;
|
|
120
|
-
icon: string;
|
|
121
|
-
};
|
|
122
|
-
export type ObjectData = {
|
|
123
|
-
typeId: string;
|
|
124
|
-
id: string;
|
|
125
|
-
name: string;
|
|
126
|
-
};
|
|
127
|
-
export type ExportFileDirectoryCallback = () => Promise<string>;
|
|
128
|
-
export type OptionsCallback = () => Promise<void>;
|
|
129
|
-
export type AddObjectsCallback = () => Promise<ObjectData[]>;
|
|
130
|
-
export type ExportCallback = (fileName: string, checkedKbPropertiesIds: string[], checkedObjectIds: string[]) => Promise<boolean>;
|
|
131
|
-
export type AddReferencesCallback = (objectIds: string[]) => Promise<ObjectData[]>;
|
|
132
|
-
export type CancelCallback = () => Promise<boolean>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type KBPropertiesCallback = () => Promise<KBPropertyData[]>;
|
|
2
|
+
export type KBPropertyData = {
|
|
3
|
+
typeId: string;
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
export type KBPropertyType = {
|
|
8
|
+
id: string;
|
|
9
|
+
icon: string;
|
|
10
|
+
};
|
|
11
|
+
export type ObjectData = {
|
|
12
|
+
typeId: string;
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
export type ExportFileDirectoryCallback = () => Promise<string>;
|
|
17
|
+
export type OptionsCallback = () => Promise<void>;
|
|
18
|
+
export type AddObjectsCallback = () => Promise<ObjectData[]>;
|
|
19
|
+
export type ExportCallback = (fileName: string, checkedKbPropertiesIds: string[], checkedObjectIds: string[]) => Promise<boolean>;
|
|
20
|
+
export type AddReferencesCallback = (objectIds: string[]) => Promise<ObjectData[]>;
|
|
21
|
+
export type CancelCallback = () => Promise<boolean>;
|