@genexus/genexus-ide-ui 1.1.37 → 1.1.39

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.
Files changed (88) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -3
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +19 -34
  5. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +9 -6
  7. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -4
  9. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-status-message.cjs.entry.js +42 -0
  11. package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +1 -0
  14. package/dist/collection/components/details-acknowledgements/details-acknowledgements.js +19 -34
  15. package/dist/collection/components/details-acknowledgements/details-acknowledgements.js.map +1 -1
  16. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
  17. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
  18. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
  19. package/dist/collection/components/new-kb/new-kb.js +9 -7
  20. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  21. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
  22. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
  23. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
  24. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
  25. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
  26. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
  27. package/dist/collection/components/status-message/status-message.css +33 -0
  28. package/dist/collection/components/status-message/status-message.js +42 -0
  29. package/dist/collection/components/status-message/status-message.js.map +1 -0
  30. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +9 -3
  31. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  32. package/dist/collection/components/team-dev/server-selector/server-selector.js +12 -4
  33. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  34. package/dist/collection/testing/locale.e2e.js +1 -0
  35. package/dist/collection/testing/locale.e2e.js.map +1 -1
  36. package/dist/components/gx-ide-create-kb-from-server.js +9 -3
  37. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  38. package/dist/components/gx-ide-details-acknowledgements.js +19 -34
  39. package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
  40. package/dist/components/gx-ide-new-kb.js +9 -7
  41. package/dist/components/gx-ide-new-kb.js.map +1 -1
  42. package/dist/components/gx-ide-server-selector.js +12 -4
  43. package/dist/components/gx-ide-server-selector.js.map +1 -1
  44. package/dist/components/gx-ide-status-message.d.ts +11 -0
  45. package/dist/components/gx-ide-status-message.js +56 -0
  46. package/dist/components/gx-ide-status-message.js.map +1 -0
  47. package/dist/esm/genexus-ide-ui.js +1 -1
  48. package/dist/esm/gx-ide-create-kb-from-server.entry.js +9 -3
  49. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-details-acknowledgements.entry.js +19 -34
  51. package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
  52. package/dist/esm/gx-ide-new-kb.entry.js +9 -6
  53. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  54. package/dist/esm/gx-ide-server-selector.entry.js +12 -4
  55. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  56. package/dist/esm/gx-ide-status-message.entry.js +38 -0
  57. package/dist/esm/gx-ide-status-message.entry.js.map +1 -0
  58. package/dist/esm/loader.js +1 -1
  59. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  60. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  61. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
  62. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
  63. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
  64. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
  65. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
  66. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
  67. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
  68. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
  69. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
  70. package/dist/genexus-ide-ui/{p-3dc5d62e.entry.js → p-4b680e46.entry.js} +102 -102
  71. package/dist/genexus-ide-ui/p-4b680e46.entry.js.map +1 -0
  72. package/dist/genexus-ide-ui/p-50253b96.entry.js +61 -0
  73. package/dist/genexus-ide-ui/p-50253b96.entry.js.map +1 -0
  74. package/dist/genexus-ide-ui/{p-bee71b20.entry.js → p-970e89ac.entry.js} +55 -45
  75. package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +1 -0
  76. package/dist/genexus-ide-ui/{p-9ad85231.entry.js → p-b34ecbdc.entry.js} +35 -28
  77. package/dist/genexus-ide-ui/p-b34ecbdc.entry.js.map +1 -0
  78. package/dist/genexus-ide-ui/{p-5e2f9545.entry.js → p-bd0ffc08.entry.js} +56 -72
  79. package/dist/genexus-ide-ui/p-bd0ffc08.entry.js.map +1 -0
  80. package/dist/types/components/details-acknowledgements/types.d.ts +1 -1
  81. package/dist/types/components/new-kb/new-kb.d.ts +2 -3
  82. package/dist/types/components/status-message/status-message.d.ts +9 -0
  83. package/dist/types/components.d.ts +13 -0
  84. package/package.json +1 -1
  85. package/dist/genexus-ide-ui/p-3dc5d62e.entry.js.map +0 -1
  86. package/dist/genexus-ide-ui/p-5e2f9545.entry.js.map +0 -1
  87. package/dist/genexus-ide-ui/p-9ad85231.entry.js.map +0 -1
  88. package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-about\": 0,\n \"gx-ide-ai-assistant\": 0,\n \"gx-ide-ai-message\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-sync-gam-roles\": 0,\n \"gx-ide-bpm-task-documents\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-chat-welcome\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-dashboard-home\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-deployment-tool\": 0,\n \"gx-ide-details-acknowledgements\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-file-item\": 0,\n \"gx-ide-file-uploader\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-json-import\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-manage-module-references-v2\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-new-version\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-open-api-import\": 0,\n \"gx-ide-plugin-explorer\": 0,\n \"gx-ide-plugin-details\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-server-selector\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-bring-changes\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-history\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-starting-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-ww-files\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0,\n \"gx-ide-curl-inspector\": 0\n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-ai-message\",\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\",\n \"gx-ide-file-item\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
1
+ {"version":3,"file":"locale.e2e.js","sourceRoot":"","sources":["../../src/testing/locale.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { GeneXusIdeUIControlsTagName } from \"../common/types\";\nimport { haveSameStructure } from \"./same-structure.e2e\";\n\nconst COMPONENT_PREFIX = \"gx-ide-\";\nconst languages: { name: string; attr: string }[] = [\n { name: \"chinese\", attr: \"zh\" },\n { name: \"english\", attr: \"en\" },\n { name: \"japanese\", attr: \"ja\" }\n];\n\nconst testLocale = (componentNameWithPrefix: GeneXusIdeUIControlsTagName) => {\n describe(`[locale][${componentNameWithPrefix}]`, () => {\n let page: E2EPage;\n const componentName = componentNameWithPrefix.replace(COMPONENT_PREFIX, \"\");\n\n // This implementation is a WA since we can't evaluate JS classes in the page.\n // TODO: Implement the locale utility as a function, which can be evaluated\n // in the page\n const getTranslations = () =>\n page.evaluate(component => {\n const ASSETS_FOLDER = \"gx-ide-assets/\";\n const DEFAULT_LANGUAGE = \"en\";\n const LANGS_FOLDER = \"langs/\";\n const LANG_PREFIX = \".lang.\";\n const LANG_EXTENSION = \".json\";\n const lang =\n document\n .getElementsByTagName(\"html\")[0]\n .getAttribute(\"lang\")\n ?.valueOf() ?? DEFAULT_LANGUAGE;\n const folder = `${component}/`;\n\n const path =\n `/build/${ASSETS_FOLDER}${folder}${LANGS_FOLDER}${component}${LANG_PREFIX}${lang}${LANG_EXTENSION}` as const;\n\n return new Promise(resolve => {\n fetch(path)\n .then(async langFile => {\n if (langFile.ok) {\n const fileObject = await langFile.json();\n resolve(fileObject);\n } else {\n resolve(undefined);\n }\n })\n .catch(() => resolve(undefined));\n });\n }, componentName);\n\n beforeEach(async () => {\n page = await newE2EPage({\n failOnConsoleError: true,\n html: \"\" // Necessary\n });\n });\n\n it(\"should work without specifying the language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n\n it(\"should default to english language when there is no language (lang attr) in the browser\", async () => {\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n\n await page.evaluate(() =>\n document.documentElement.setAttribute(\"lang\", \"en\")\n );\n\n const languageEnglishFile: any | undefined = await getTranslations();\n expect(languageEnglishFile).toBeTruthy();\n expect(languageFile).toEqual(languageEnglishFile);\n });\n\n languages.forEach(language => {\n it(`should work with ${language.name} language`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language.attr\n );\n const languageFile: any | undefined = await getTranslations();\n expect(languageFile).toBeTruthy();\n });\n });\n\n for (let index = 0; index < languages.length - 1; index++) {\n const language1 = languages[index];\n const language2 = languages[index + 1];\n\n // TODO: Complete all translations. At this moment, Japanese and Chinese\n // translations have missing literals\n it(`should translate the same literals (${language1.name} and ${language2.name})`, async () => {\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language1.attr\n );\n const language1File: any | undefined = await getTranslations();\n\n await page.evaluate(\n (attr: string) => document.documentElement.setAttribute(\"lang\", attr),\n language2.attr\n );\n const language2File: any | undefined = await getTranslations();\n\n expect(language1File).toBeTruthy();\n expect(language2File).toBeTruthy();\n expect(haveSameStructure(language1File, language2File)).toBe(true);\n });\n }\n });\n};\n\n// TypeScript does not have a built-in type to exhaust a list with union types\nconst allGeneXusIdeUIComponents: { [key in GeneXusIdeUIControlsTagName]: 0 } = {\n \"gx-ide-about\": 0,\n \"gx-ide-ai-assistant\": 0,\n \"gx-ide-ai-message\": 0,\n \"gx-ide-bpm-app-declaration\": 0,\n \"gx-ide-bpm-assign-roles\": 0,\n \"gx-ide-bpm-import-files\": 0,\n \"gx-ide-bpm-import-gxpm\": 0,\n \"gx-ide-bpm-objects-selector\": 0,\n \"gx-ide-bpm-sync-gam-roles\": 0,\n \"gx-ide-bpm-task-documents\": 0,\n \"gx-ide-bpm-timer-duration\": 0,\n \"gx-ide-card\": 0,\n \"gx-ide-chat-container\": 0,\n \"gx-ide-chat-welcome\": 0,\n \"gx-ide-sc-chat-container\": 0,\n \"gx-ide-connect-gx-server\": 0,\n \"gx-ide-container\": 0,\n \"gx-ide-create-kb-from-server\": 0,\n \"gx-ide-current-user-info\": 0,\n \"gx-ide-dashboard-home\": 0,\n \"gx-ide-data-selector\": 0,\n \"gx-ide-data-type-selector\": 0,\n \"gx-ide-deployment-tool\": 0,\n \"gx-ide-details-acknowledgements\": 0,\n \"gx-ide-design-import\": 0,\n \"gx-ide-directory-selector\": 0,\n \"gx-ide-edit-module-server\": 0,\n \"gx-ide-empty-state\": 0,\n \"gx-ide-entity-selector\": 0,\n \"gx-ide-file-item\": 0,\n \"gx-ide-file-uploader\": 0,\n \"gx-ide-gam-installation-settings\": 0,\n \"gx-ide-json-import\": 0,\n \"gx-ide-kb-manager-export\": 0,\n \"gx-ide-kb-manager-import\": 0,\n \"gx-ide-list-selector\": 0,\n \"gx-ide-list-selector-item\": 0,\n \"gx-ide-loader\": 0,\n \"gx-ide-manage-module-references\": 0,\n \"gx-ide-manage-module-references-v2\": 0,\n \"gx-ide-new-environment\": 0,\n \"gx-ide-new-kb\": 0,\n \"gx-ide-new-object\": 0,\n \"gx-ide-new-version\": 0,\n \"gx-ide-object-selector\": 0,\n \"gx-ide-open-api-import\": 0,\n \"gx-ide-plugin-explorer\": 0,\n \"gx-ide-plugin-details\": 0,\n \"gx-ide-references\": 0,\n \"gx-ide-server-selector\": 0,\n \"gx-ide-select-kb-items\": 0,\n \"gx-ide-select-user-team\": 0,\n \"gx-ide-sign-in\": 0,\n \"gx-ide-sign-in-team\": 0,\n \"gx-ide-share-kb\": 0,\n \"gx-ide-start-page\": 0,\n \"gx-ide-status-message\": 0,\n \"gx-ide-status-buttons\": 0,\n \"gx-ide-switch-panel\": 0,\n \"gx-ide-switcher\": 0,\n \"gx-ide-team-dev-bring-changes\": 0,\n \"gx-ide-team-dev-commit\": 0,\n \"gx-ide-team-dev-history\": 0,\n \"gx-ide-team-dev-select-recent-comment\": 0,\n \"gx-ide-team-dev-update\": 0,\n \"gx-ide-team-dev-update-partial-selection\": 0,\n \"gx-ide-team-dev-update-to-revision\": 0,\n \"gx-ide-starting-template\": 0,\n \"gx-ide-test\": 0,\n \"gx-ide-title\": 0,\n \"gx-ide-top-bar\": 0,\n \"gx-ide-wf-settings\": 0,\n \"gx-ide-ww-images\": 0,\n \"gx-ide-ww-attributes\": 0,\n \"gx-ide-ww-files\": 0,\n \"gx-ide-navigation-report\": 0,\n \"gx-ide-splash\": 0,\n \"gx-ide-welcome-page\": 0,\n \"gx-ide-bpm-export-xpdl\": 0,\n \"gx-ide-curl-inspector\": 0\n};\n\nconst componentsWithoutTranslations = new Set<GeneXusIdeUIControlsTagName>([\n \"gx-ide-ai-message\",\n \"gx-ide-chat-container\",\n \"gx-ide-container\",\n \"gx-ide-sc-chat-container\",\n \"gx-ide-directory-selector\",\n \"gx-ide-empty-state\",\n \"gx-ide-list-selector\",\n \"gx-ide-list-selector-item\",\n \"gx-ide-loader\",\n \"gx-ide-switch-panel\",\n \"gx-ide-switcher\",\n \"gx-ide-test\",\n \"gx-ide-title\",\n \"gx-ide-top-bar\",\n \"gx-ide-file-item\"\n]);\n\nconst componentsWithTranslations = Object.keys(\n allGeneXusIdeUIComponents\n).filter(\n component =>\n !componentsWithoutTranslations.has(component as GeneXusIdeUIControlsTagName)\n);\n\ncomponentsWithTranslations.forEach(testLocale);\n"]}
@@ -36,7 +36,7 @@ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) ||
36
36
  throw new TypeError("Cannot read private member from an object whose class did not declare it");
37
37
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
38
38
  };
39
- var _GxIdeCreateKbFromServer_chSearchIcon, _GxIdeCreateKbFromServer_showMoreIcon, _GxIdeCreateKbFromServer_versionsSelect, _GxIdeCreateKbFromServer__componentLocale, _GxIdeCreateKbFromServer_kbsActionListModel, _GxIdeCreateKbFromServer_kbVersions, _GxIdeCreateKbFromServer_shortcutsSrc, _GxIdeCreateKbFromServer_selectedKbId, _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser, _GxIdeCreateKbFromServer_versionSelectedTypeEl, _GxIdeCreateKbFromServer_localKBNameEl, _GxIdeCreateKbFromServer_cancelHandler, _GxIdeCreateKbFromServer_changeConnectionHandler, _GxIdeCreateKbFromServer_createHandler, _GxIdeCreateKbFromServer_evaluateTooltipRender, _GxIdeCreateKbFromServer_filterValueChangedHandler, _GxIdeCreateKbFromServer_init, _GxIdeCreateKbFromServer_initializeValidatableControls, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, _GxIdeCreateKbFromServer_selectedVersionHandler, _GxIdeCreateKbFromServer_selectKbChangeHandler, _GxIdeCreateKbFromServer_versionsChangedHandler, _GxIdeCreateKbFromServer_renderFooter;
39
+ var _GxIdeCreateKbFromServer_chSearchIcon, _GxIdeCreateKbFromServer_showMoreIcon, _GxIdeCreateKbFromServer_versionsSelect, _GxIdeCreateKbFromServer__componentLocale, _GxIdeCreateKbFromServer_kbsActionListModel, _GxIdeCreateKbFromServer_kbVersions, _GxIdeCreateKbFromServer_shortcutsSrc, _GxIdeCreateKbFromServer_selectedKbId, _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser, _GxIdeCreateKbFromServer_versionSelectedTypeEl, _GxIdeCreateKbFromServer_localKBNameEl, _GxIdeCreateKbFromServer_cancelHandler, _GxIdeCreateKbFromServer_changeConnectionHandler, _GxIdeCreateKbFromServer_createHandler, _GxIdeCreateKbFromServer_evaluateTooltipRender, _GxIdeCreateKbFromServer_filterValueChangedHandler, _GxIdeCreateKbFromServer_init, _GxIdeCreateKbFromServer_initializeValidatableControls, _GxIdeCreateKbFromServer_inputLocalKbNameHandler, _GxIdeCreateKbFromServer_selectedVersionHandler, _GxIdeCreateKbFromServer_selectKbChangeHandler, _GxIdeCreateKbFromServer_versionsChangedHandler, _GxIdeCreateKbFromServer_sortItems, _GxIdeCreateKbFromServer_renderFooter;
40
40
  const CSS_BUNDLES = [
41
41
  "resets/box-sizing",
42
42
  "utils/form--full",
@@ -191,6 +191,12 @@ const GxIdeCreateKbFromServer$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeCr
191
191
  _GxIdeCreateKbFromServer_versionsChangedHandler.set(this, (event) => {
192
192
  this.versionSelectedType = event.detail;
193
193
  });
194
+ _GxIdeCreateKbFromServer_sortItems.set(this, (model) => {
195
+ model.sort((a, b) => {
196
+ var _a, _b;
197
+ return (_a = a.caption) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().localeCompare((_b = b.caption) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase());
198
+ });
199
+ });
194
200
  _GxIdeCreateKbFromServer_renderFooter.set(this, () => {
195
201
  return (h("footer", { class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end" }, h("div", { class: "buttons-spacer" }, h("button", {
196
202
  // cancel button
@@ -224,7 +230,7 @@ const GxIdeCreateKbFromServer$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeCr
224
230
  }
225
231
  render() {
226
232
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_shortcutsSrc, "f"), ref: (el) => (this.chShortcutsEl = el) }), h("section", { class: "section" }, h("header", { class: "header control-header-with-border space-body spacing-body-inline spacing-body-block-start" }, h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.serverUrl), h("p", null, this.connectionData.serverUrl)), h("div", { class: "field field-block" }, h("label", { class: "label" }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.user), h("p", null, this.connectionData.userName)), h("button", { class: "button-tertiary button-change", onClick: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_changeConnectionHandler, "f") }, __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").header.change)), h("section", { class: "main field-group spacing-body" }, this.loading ? (h("gx-ide-loader", { loaderTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").loader.description, show: true })) : (h(Fragment, null, h("ch-edit", { class: "input search-kbs", id: "local-kb-name", startImgSrc: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_chSearchIcon, "f"), onInput: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_filterValueChangedHandler, "f"), placeholder: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").kb.searchKbsPlaceholder }), __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_kbsActionListModel, "f").length === 0 ||
227
- this.kbsFilteredActionListModel.length === 0 ? (h("div", { class: "list-box" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").emptyKBsText, isAnimated: true }))) : (h("ch-action-list-render", { selection: "single", class: "list-box", onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectKbChangeHandler, "f"), model: this.kbsFilteredActionListModel })), h("div", { class: "versions-container field-group" }, h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f")[0].value, ref: (el) => {
233
+ this.kbsFilteredActionListModel.length === 0 ? (h("div", { class: "list-box" }, h("gx-ide-empty-state", { stateIconSrc: INFO_ICON, stateTitle: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer__componentLocale, "f").emptyKBsText, isAnimated: true }))) : (h("ch-action-list-render", { selection: "single", class: "list-box", onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectKbChangeHandler, "f"), model: this.kbsFilteredActionListModel, sortItemsCallback: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_sortItems, "f") })), h("div", { class: "versions-container field-group" }, h("ch-radio-group-render", { class: "radio-group", model: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f"), onChange: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionsSelect, "f")[0].value, ref: (el) => {
228
234
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_versionSelectedTypeEl, el, "f");
229
235
  if (__classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionSelectedTypeEl, "f")) {
230
236
  this.versionSelectedType = __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_versionSelectedTypeEl, "f")
@@ -262,7 +268,7 @@ const GxIdeCreateKbFromServer$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeCr
262
268
  "versionSelectedType": [32],
263
269
  "versionsValueInput": [32]
264
270
  }]);
265
- _GxIdeCreateKbFromServer_chSearchIcon = new WeakMap(), _GxIdeCreateKbFromServer_showMoreIcon = new WeakMap(), _GxIdeCreateKbFromServer_versionsSelect = new WeakMap(), _GxIdeCreateKbFromServer__componentLocale = new WeakMap(), _GxIdeCreateKbFromServer_kbsActionListModel = new WeakMap(), _GxIdeCreateKbFromServer_kbVersions = new WeakMap(), _GxIdeCreateKbFromServer_shortcutsSrc = new WeakMap(), _GxIdeCreateKbFromServer_selectedKbId = new WeakMap(), _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser = new WeakMap(), _GxIdeCreateKbFromServer_versionSelectedTypeEl = new WeakMap(), _GxIdeCreateKbFromServer_localKBNameEl = new WeakMap(), _GxIdeCreateKbFromServer_cancelHandler = new WeakMap(), _GxIdeCreateKbFromServer_changeConnectionHandler = new WeakMap(), _GxIdeCreateKbFromServer_createHandler = new WeakMap(), _GxIdeCreateKbFromServer_evaluateTooltipRender = new WeakMap(), _GxIdeCreateKbFromServer_filterValueChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_init = new WeakMap(), _GxIdeCreateKbFromServer_initializeValidatableControls = new WeakMap(), _GxIdeCreateKbFromServer_inputLocalKbNameHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectedVersionHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectKbChangeHandler = new WeakMap(), _GxIdeCreateKbFromServer_versionsChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_renderFooter = new WeakMap();
271
+ _GxIdeCreateKbFromServer_chSearchIcon = new WeakMap(), _GxIdeCreateKbFromServer_showMoreIcon = new WeakMap(), _GxIdeCreateKbFromServer_versionsSelect = new WeakMap(), _GxIdeCreateKbFromServer__componentLocale = new WeakMap(), _GxIdeCreateKbFromServer_kbsActionListModel = new WeakMap(), _GxIdeCreateKbFromServer_kbVersions = new WeakMap(), _GxIdeCreateKbFromServer_shortcutsSrc = new WeakMap(), _GxIdeCreateKbFromServer_selectedKbId = new WeakMap(), _GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser = new WeakMap(), _GxIdeCreateKbFromServer_versionSelectedTypeEl = new WeakMap(), _GxIdeCreateKbFromServer_localKBNameEl = new WeakMap(), _GxIdeCreateKbFromServer_cancelHandler = new WeakMap(), _GxIdeCreateKbFromServer_changeConnectionHandler = new WeakMap(), _GxIdeCreateKbFromServer_createHandler = new WeakMap(), _GxIdeCreateKbFromServer_evaluateTooltipRender = new WeakMap(), _GxIdeCreateKbFromServer_filterValueChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_init = new WeakMap(), _GxIdeCreateKbFromServer_initializeValidatableControls = new WeakMap(), _GxIdeCreateKbFromServer_inputLocalKbNameHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectedVersionHandler = new WeakMap(), _GxIdeCreateKbFromServer_selectKbChangeHandler = new WeakMap(), _GxIdeCreateKbFromServer_versionsChangedHandler = new WeakMap(), _GxIdeCreateKbFromServer_sortItems = new WeakMap(), _GxIdeCreateKbFromServer_renderFooter = new WeakMap();
266
272
  function defineCustomElement$1() {
267
273
  if (typeof customElements === "undefined") {
268
274
  return;
@@ -1 +1 @@
1
- {"file":"gx-ide-create-kb-from-server.js","mappings":"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","names":["GxIdeCreateKbFromServer"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n Fragment\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"version":3}
1
+ {"file":"gx-ide-create-kb-from-server.js","mappings":"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","names":["GxIdeCreateKbFromServer"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n Fragment\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"version":3}
@@ -11,22 +11,12 @@ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) ||
11
11
  throw new TypeError("Cannot read private member from an object whose class did not declare it");
12
12
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
13
13
  };
14
- var _GxIdeDetailsAcknowledgements_getFormatedDate, _GxIdeDetailsAcknowledgements_renderLicensesInfo, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, _GxIdeDetailsAcknowledgements_getLicenseId, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, _GxIdeDetailsAcknowledgements_openLinkClickedHandler;
14
+ var _GxIdeDetailsAcknowledgements_getFormatedDate, _GxIdeDetailsAcknowledgements_renderLicenseInfo, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, _GxIdeDetailsAcknowledgements_getLicenseId, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, _GxIdeDetailsAcknowledgements_openLinkClickedHandler;
15
15
  const OPEN_WINDOW_ICON = getIconPath({
16
16
  category: "gemini-tools",
17
17
  name: "open-window",
18
18
  colorType: "primary"
19
19
  });
20
- const EXPAND_ICON = getIconPath({
21
- category: "system",
22
- name: "expand",
23
- colorType: "on-primary"
24
- });
25
- const COLLAPSE_ICON = getIconPath({
26
- category: "system",
27
- name: "collapse-content",
28
- colorType: "on-primary"
29
- });
30
20
  const IMAGES_PATH = "./gx-ide-assets/details-acknowledgements/images";
31
21
  const BACKGROUND_SIZE = "300px";
32
22
  const GENEXUS_NEXT_LOGO_SRC = getAssetPath(`${IMAGES_PATH}/genexus-next-logo.svg`);
@@ -49,28 +39,23 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
49
39
  _GxIdeDetailsAcknowledgements_getFormatedDate.set(this, (date) => {
50
40
  return date === null || date === void 0 ? void 0 : date.toISOString().split("T")[0];
51
41
  });
52
- _GxIdeDetailsAcknowledgements_renderLicensesInfo.set(this, (licenses, type = "name", packageData) => {
53
- return type === "name" ? (h("ul", { class: "licenses-names-list" }, licenses.map(license => {
54
- return (h("li", { class: "color-default body-regular-m licenses-names-item" }, license.name));
55
- }))) : (h("ul", { class: "licenses-descriptions-list" }, licenses.map(license => {
56
- const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
57
- const showDescription = licenseId === this.expandedLicenseId;
58
- return (h("li", { class: "licenses-descriptions-item", key: licenseId }, showDescription ? (h("p", { class: "code-box color-neutral licenses-descriptions-description scrollable" }, license.description)) : null));
59
- })));
42
+ _GxIdeDetailsAcknowledgements_renderLicenseInfo.set(this, (license, type = "name", packageData) => {
43
+ const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
44
+ const showDescription = licenseId === this.expandedLicenseId;
45
+ return type === "name" ? (h("ul", { class: "licenses-names-list" }, h("li", { class: "color-default body-regular-m licenses-names-item" }, license.name))) : (h("ul", { class: "licenses-descriptions-list" }, h("li", { class: "licenses-descriptions-item", key: license.name }, showDescription ? (h("p", { class: "code-box color-neutral licenses-descriptions-description scrollable" }, license.description)) : null)));
60
46
  });
61
- _GxIdeDetailsAcknowledgements_renderLicensesViewButtons.set(this, (licenses, packageData) => {
62
- return (h("div", { class: "licenses-buttons-container buttons-spacer" }, licenses.map(license => {
63
- const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
64
- const visibleLicenseButton = licenseId === this.expandedLicenseId;
65
- const icon = visibleLicenseButton ? COLLAPSE_ICON : EXPAND_ICON;
66
- const viewLicenseButtonLabel = `${license.name} ${this._componentLocale.packageCard.licenseLabel}`;
67
- return (h("button", { class: {
68
- "button-icon-and-text": true,
69
- "button-primary": !visibleLicenseButton,
70
- "button-secondary": visibleLicenseButton,
71
- "show-more-button": true
72
- }, onClick: __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, "f").call(this, licenseId) }, h("ch-image", { src: icon, class: "package-icon icon-md" }), viewLicenseButtonLabel));
73
- })));
47
+ _GxIdeDetailsAcknowledgements_renderLicensesViewButtons.set(this, (license, packageData) => {
48
+ const licenseId = __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_getLicenseId, "f").call(this, packageData, license.name);
49
+ const visibleLicenseButton = licenseId === this.expandedLicenseId;
50
+ const viewLicenseButtonLabel = visibleLicenseButton
51
+ ? this._componentLocale.detailsCard.hide
52
+ : this._componentLocale.detailsCard.show;
53
+ return (h("div", { class: "licenses-buttons-container buttons-spacer" }, h("button", { class: {
54
+ "button-icon-and-text": true,
55
+ "button-primary": !visibleLicenseButton,
56
+ "button-secondary": visibleLicenseButton,
57
+ "show-more-button": true
58
+ }, onClick: __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler, "f").call(this, licenseId) }, viewLicenseButtonLabel)));
74
59
  });
75
60
  _GxIdeDetailsAcknowledgements_getLicenseId.set(this, (packageData, licenseName) => {
76
61
  return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;
@@ -116,7 +101,7 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
116
101
  "subtitle-semi-bold-s": true,
117
102
  "package-name": true,
118
103
  "has-link": !!packageItem.packageURL
119
- } }, headingContent), h("p", { class: "color-default subtitle-semi-bold-s" }, this._componentLocale.packageCard.declaredLicenses), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicensesInfo, "f").call(this, packageItem.declaredLicenses, "name"), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicensesInfo, "f").call(this, packageItem.declaredLicenses, "description", packageItem), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, "f").call(this, packageItem.declaredLicenses, packageItem)));
104
+ } }, headingContent), h("p", { class: "color-default subtitle-semi-bold-s" }, this._componentLocale.packageCard.declaredLicenses), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicenseInfo, "f").call(this, packageItem.declaredLicense, "name", packageItem), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicenseInfo, "f").call(this, packageItem.declaredLicense, "description", packageItem), __classPrivateFieldGet(this, _GxIdeDetailsAcknowledgements_renderLicensesViewButtons, "f").call(this, packageItem.declaredLicense, packageItem)));
120
105
  }))));
121
106
  }
122
107
  static get assetsDirs() { return ["gx-ide-assets/details-acknowledgements"]; }
@@ -129,7 +114,7 @@ const GxIdeDetailsAcknowledgements$1 = /*@__PURE__*/ proxyCustomElement(class Gx
129
114
  "openPackageUrlCallback": [16],
130
115
  "expandedLicenseId": [32]
131
116
  }]);
132
- _GxIdeDetailsAcknowledgements_getFormatedDate = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicensesInfo = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicensesViewButtons = new WeakMap(), _GxIdeDetailsAcknowledgements_getLicenseId = new WeakMap(), _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler = new WeakMap(), _GxIdeDetailsAcknowledgements_openLinkClickedHandler = new WeakMap();
117
+ _GxIdeDetailsAcknowledgements_getFormatedDate = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicenseInfo = new WeakMap(), _GxIdeDetailsAcknowledgements_renderLicensesViewButtons = new WeakMap(), _GxIdeDetailsAcknowledgements_getLicenseId = new WeakMap(), _GxIdeDetailsAcknowledgements_viewLicenseClickedHandler = new WeakMap(), _GxIdeDetailsAcknowledgements_openLinkClickedHandler = new WeakMap();
133
118
  function defineCustomElement$1() {
134
119
  if (typeof customElements === "undefined") {
135
120
  return;
@@ -1 +1 @@
1
- {"file":"gx-ide-details-acknowledgements.js","mappings":"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","names":["GxIdeDetailsAcknowledgements"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\nconst EXPAND_ICON = getIconPath({\n category: \"system\",\n name: \"expand\",\n colorType: \"on-primary\"\n});\nconst COLLAPSE_ICON = getIconPath({\n category: \"system\",\n name: \"collapse-content\",\n colorType: \"on-primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicensesInfo = (\n licenses: License[],\n type: \"name\" | \"description\" = \"name\",\n packageData?: PackageData\n ): JSX.Element => {\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n {licenses.map(license => {\n return (\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n );\n })}\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n\n return (\n <li class=\"licenses-descriptions-item\" key={licenseId}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n );\n })}\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n licenses: License[],\n packageData?: PackageData\n ): JSX.Element => {\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {licenses.map(license => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const icon = visibleLicenseButton ? COLLAPSE_ICON : EXPAND_ICON;\n\n const viewLicenseButtonLabel = `${license.name} ${this._componentLocale.packageCard.licenseLabel}`;\n\n return (\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n <ch-image src={icon} class=\"package-icon icon-md\"></ch-image>\n {viewLicenseButtonLabel}\n </button>\n );\n })}\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicensesInfo(packageItem.declaredLicenses, \"name\")}\n\n {this.#renderLicensesInfo(\n packageItem.declaredLicenses,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicenses,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gx-ide-details-acknowledgements.js","mappings":"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","names":["GxIdeDetailsAcknowledgements"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicenseInfo = (\n license: License,\n type: \"name\" | \"description\" = \"name\",\n packageData: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n <li class=\"licenses-descriptions-item\" key={license.name}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n license: License,\n packageData?: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const viewLicenseButtonLabel = visibleLicenseButton\n ? this._componentLocale.detailsCard.hide\n : this._componentLocale.detailsCard.show;\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n {viewLicenseButtonLabel}\n </button>\n }\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"name\",\n packageItem\n )}\n\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicense,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -198,7 +198,7 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
198
198
  }, h("label", { class: "label", htmlFor: "dataSource" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource.label), h("ch-combo-box-render", { class: "combo-box", disabled: this.defaultDataSources.length === 0, placeholder: this.defaultDataSources.length === 0
199
199
  ? __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.backEnd.dataSource
200
200
  .disabledPlaceholder
201
- : "", value: this.defaultDataSourcesInitialValue, ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_dataSourceEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceValueChangedHandler, "f"), model: this.defaultDataSourcesComboBoxModel, part: "data-source", id: "dataSource" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f"))))),
201
+ : "", value: __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeNewKb_dataSourceEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceValueChangedHandler, "f"), model: this.defaultDataSourcesComboBoxModel, part: "data-source", id: "dataSource" }), __classPrivateFieldGet(this, _GxIdeNewKb_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f"))))),
202
202
  h("section", { class: "section__front-end" }, h("h2", { class: "control-header control-header-with-border control-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeNewKb_componentLocale, "f").tabBasic.frontEnd.frontEndLabel), h("div", { class: "field-group main__front-end spacing-body-inline scrollable" }, renderChCheckboxItems(this.frontEnds, __classPrivateFieldGet(this, _GxIdeNewKb_frontEndCheckboxInputHandler, "f"), __classPrivateFieldGet(this, _GxIdeNewKb_frontEndsCheckedMap, "f").get(__classPrivateFieldGet(this, _GxIdeNewKb_selectedPrototypingEnvironmentId, "f")))))
203
203
  ];
204
204
  });
@@ -298,8 +298,9 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
298
298
  });
299
299
  _GxIdeNewKb_getPrototypingEnvironments.set(this, async () => {
300
300
  if (this.getPrototypingEnvironmentsCallback) {
301
- const selectedPrototypingTargetId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f") ?
302
- __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f").value : this.prototypingTargetsInitialValue;
301
+ const selectedPrototypingTargetId = __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f")
302
+ ? __classPrivateFieldGet(this, _GxIdeNewKb_prototypingTargetEl, "f").value
303
+ : this.prototypingTargetsInitialValue;
303
304
  const envs = await this.getPrototypingEnvironmentsCallback(selectedPrototypingTargetId);
304
305
  if (envs) {
305
306
  this.defaultPrototypingEnvironments = envs;
@@ -319,7 +320,9 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
319
320
  this.defaultDataSources = result;
320
321
  // set first option as selected
321
322
  __classPrivateFieldGet(this, _GxIdeNewKb_dataSourceEl, "f").value =
322
- __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f") !== undefined ? __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f") : this.defaultDataSources[0].id;
323
+ __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f") !== undefined
324
+ ? __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f")
325
+ : this.defaultDataSources[0].id;
323
326
  }
324
327
  })
325
328
  .catch(() => {
@@ -420,7 +423,6 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
420
423
  this.collationsComboBoxModel = [];
421
424
  this.collationsInitialValue = undefined;
422
425
  this.defaultDataSourcesComboBoxModel = [];
423
- this.defaultDataSourcesInitialValue = undefined;
424
426
  this.prototypingTargetsComboBoxModel = [];
425
427
  this.prototypingTargetsInitialValue = undefined;
426
428
  this.prototypingEnvironmentsComboBoxModel = [];
@@ -468,7 +470,8 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
468
470
  if (newValue === null || newValue === void 0 ? void 0 : newValue.length) {
469
471
  this.defaultDataSourcesComboBoxModel =
470
472
  mapOptionsToComboBoxItemModel(newValue);
471
- this.defaultDataSourcesInitialValue = getSelectedItem(newValue);
473
+ const result = setSelectedItem(newValue, __classPrivateFieldGet(this, _GxIdeNewKb_selectedDataSourceId, "f"));
474
+ __classPrivateFieldSet(this, _GxIdeNewKb_selectedDataSourceId, getSelectedItem(result), "f");
472
475
  }
473
476
  }
474
477
  watchDefaultPrototypingEnvironments(newValue) {
@@ -630,7 +633,6 @@ const GxIdeNewKb$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeNewKb extends H
630
633
  "collationsComboBoxModel": [32],
631
634
  "collationsInitialValue": [32],
632
635
  "defaultDataSourcesComboBoxModel": [32],
633
- "defaultDataSourcesInitialValue": [32],
634
636
  "prototypingTargetsComboBoxModel": [32],
635
637
  "prototypingTargetsInitialValue": [32],
636
638
  "prototypingEnvironmentsComboBoxModel": [32],