From 0eaaafd57e211657ae26da446f7cf86c38acf516 Mon Sep 17 00:00:00 2001 From: elizachi Date: Fri, 5 Jul 2024 03:17:37 +0300 Subject: [PATCH 01/36] Added popup to the Playground --- codex-ui/dev/Playground.vue | 5 ++++ codex-ui/dev/pages/components/Popup.vue | 18 +++++++++++ codex-ui/dev/routes.ts | 5 ++++ codex-ui/src/vue/components/popup/Popup.vue | 33 +++++++++++++++++++++ codex-ui/src/vue/components/popup/index.ts | 3 ++ codex-ui/src/vue/index.ts | 1 + 6 files changed, 65 insertions(+) create mode 100644 codex-ui/dev/pages/components/Popup.vue create mode 100644 codex-ui/src/vue/components/popup/Popup.vue create mode 100644 codex-ui/src/vue/components/popup/index.ts diff --git a/codex-ui/dev/Playground.vue b/codex-ui/dev/Playground.vue index bb3b584d..9940daa8 100644 --- a/codex-ui/dev/Playground.vue +++ b/codex-ui/dev/Playground.vue @@ -190,6 +190,11 @@ const pages = computed(() => [ onActivate: () => router.push('/components/fieldset'), isActive: route.path === '/components/fieldset', }, + { + title: 'Popup', + onActivate: () => router.push('/components/popup'), + isActive: route.path === '/components/popup', + }, { title: 'Editor', onActivate: () => router.push('/components/editor'), diff --git a/codex-ui/dev/pages/components/Popup.vue b/codex-ui/dev/pages/components/Popup.vue new file mode 100644 index 00000000..362b6cb7 --- /dev/null +++ b/codex-ui/dev/pages/components/Popup.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/codex-ui/dev/routes.ts b/codex-ui/dev/routes.ts index 1c7234a8..4ad70a45 100644 --- a/codex-ui/dev/routes.ts +++ b/codex-ui/dev/routes.ts @@ -28,6 +28,7 @@ import VerticalMenu from './pages/components/VerticalMenu.vue'; import ContextMenu from './pages/components/ContextMenu.vue'; import Editor from './pages/components/Editor.vue'; import ThemePreview from './pages/components/ThemePreview.vue'; +import Popup from './pages/components/Popup.vue'; /** * Vue router routes list @@ -145,6 +146,10 @@ const routes: RouteRecordRaw[] = [ path: '/components/theme-preview', component: ThemePreview as Component, }, + { + path: '/components/popup', + component: Popup as Component, + }, ]; export default routes; diff --git a/codex-ui/src/vue/components/popup/Popup.vue b/codex-ui/src/vue/components/popup/Popup.vue new file mode 100644 index 00000000..4cb522bc --- /dev/null +++ b/codex-ui/src/vue/components/popup/Popup.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/codex-ui/src/vue/components/popup/index.ts b/codex-ui/src/vue/components/popup/index.ts new file mode 100644 index 00000000..05d66861 --- /dev/null +++ b/codex-ui/src/vue/components/popup/index.ts @@ -0,0 +1,3 @@ +import Popup from './Popup.vue'; + +export { Popup }; diff --git a/codex-ui/src/vue/index.ts b/codex-ui/src/vue/index.ts index c3f65749..a11473c8 100644 --- a/codex-ui/src/vue/index.ts +++ b/codex-ui/src/vue/index.ts @@ -15,4 +15,5 @@ export * from './components/context-menu'; export * from './components/vertical-menu'; export * from './components/picture'; export * from './components/theme-preview'; +export * from './components/popup'; export * from './composables/useTheme'; From 030c3a0600081ba385945280b054ce8f8dabeddc Mon Sep 17 00:00:00 2001 From: elizachi Date: Fri, 5 Jul 2024 04:17:15 +0300 Subject: [PATCH 02/36] Added popup container --- codex-ui/dev/pages/components/Popup.vue | 4 +++- codex-ui/src/vue/components/popup/Popup.vue | 21 +++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/codex-ui/dev/pages/components/Popup.vue b/codex-ui/dev/pages/components/Popup.vue index 362b6cb7..0b432af4 100644 --- a/codex-ui/dev/pages/components/Popup.vue +++ b/codex-ui/dev/pages/components/Popup.vue @@ -5,7 +5,9 @@ A component that appears on top of other components - + + {{ 'Hello World!' }} + diff --git a/codex-ui/src/vue/components/popup/Popup.vue b/codex-ui/src/vue/components/popup/Popup.vue index d6725525..11a10aaa 100644 --- a/codex-ui/src/vue/components/popup/Popup.vue +++ b/codex-ui/src/vue/components/popup/Popup.vue @@ -1,11 +1,12 @@ @@ -26,37 +27,37 @@ withDefaults( From 524df3c378badaf7154254d31778269bfeac24d5 Mon Sep 17 00:00:00 2001 From: elizachi Date: Sat, 6 Jul 2024 14:30:48 +0300 Subject: [PATCH 05/36] Added trigger component what can show popup --- codex-ui/dev/pages/components/Popup.vue | 12 ++++++++---- codex-ui/src/vue/components/popup/Popup.vue | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/codex-ui/dev/pages/components/Popup.vue b/codex-ui/dev/pages/components/Popup.vue index 9af3f39d..cbcbacab 100644 --- a/codex-ui/dev/pages/components/Popup.vue +++ b/codex-ui/dev/pages/components/Popup.vue @@ -5,11 +5,15 @@ A component that appears on top of other components - - Hello World! + + diff --git a/codex-ui/src/vue/components/popup/Popup.vue b/codex-ui/src/vue/components/popup/Popup.vue index 11a10aaa..e0cfd026 100644 --- a/codex-ui/src/vue/components/popup/Popup.vue +++ b/codex-ui/src/vue/components/popup/Popup.vue @@ -1,7 +1,13 @@ @@ -29,6 +31,16 @@ import PageHeader from '../../components/PageHeader.vue'; import { Popup, Button, Confirm } from '../../../src/vue'; +function onLeftFunction(): void { + // eslint-disable-next-line no-console + console.log('The left button was pressed'); +} + +function onRightFunction(): void { + // eslint-disable-next-line no-console + console.log('The right button was pressed'); +} + diff --git a/codex-ui/dev/routes.ts b/codex-ui/dev/routes.ts index 72221f22..8334a2c2 100644 --- a/codex-ui/dev/routes.ts +++ b/codex-ui/dev/routes.ts @@ -29,6 +29,7 @@ import ContextMenu from './pages/components/ContextMenu.vue'; import Editor from './pages/components/Editor.vue'; import ThemePreview from './pages/components/ThemePreview.vue'; import Popup from './pages/components/Popup.vue'; +import Confirm from './pages/components/Confirm.vue'; /** * Vue router routes list @@ -150,6 +151,10 @@ const routes: RouteRecordRaw[] = [ path: '/components/popup', component: Popup as Component, }, + { + path: '/components/confirm', + component: Confirm as Component, + }, ]; export default routes; From 28bd1c333100351d37ef7efadb136c602542566f Mon Sep 17 00:00:00 2001 From: elizachi Date: Fri, 6 Sep 2024 22:40:35 +0300 Subject: [PATCH 33/36] Added stub text component --- codex-ui/dev/pages/components/Popup.vue | 22 ++++++------------- .../src/vue/components/popup/StubText.vue | 12 ++++++++++ codex-ui/src/vue/components/popup/index.ts | 4 +++- 3 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 codex-ui/src/vue/components/popup/StubText.vue diff --git a/codex-ui/dev/pages/components/Popup.vue b/codex-ui/dev/pages/components/Popup.vue index 9a92a87f..5c37f983 100644 --- a/codex-ui/dev/pages/components/Popup.vue +++ b/codex-ui/dev/pages/components/Popup.vue @@ -16,23 +16,15 @@ diff --git a/codex-ui/src/vue/components/popup/StubText.vue b/codex-ui/src/vue/components/popup/StubText.vue new file mode 100644 index 00000000..3d0f6518 --- /dev/null +++ b/codex-ui/src/vue/components/popup/StubText.vue @@ -0,0 +1,12 @@ + + + + + diff --git a/codex-ui/src/vue/components/popup/index.ts b/codex-ui/src/vue/components/popup/index.ts index fcb3b2b0..a92dccf4 100644 --- a/codex-ui/src/vue/components/popup/index.ts +++ b/codex-ui/src/vue/components/popup/index.ts @@ -1,5 +1,7 @@ import Popup from './Popup.vue'; +import StubText from './StubText.vue'; + export * from './usePopup'; export * from './Popup.types'; -export { Popup }; +export { Popup, StubText }; From fb7215fa20f4695984ef389589721f1e03e06f30 Mon Sep 17 00:00:00 2001 From: elizachi Date: Fri, 6 Sep 2024 23:08:12 +0300 Subject: [PATCH 34/36] get rid of result ref --- .../src/vue/components/confirm/useConfirm.ts | 44 +++++++------------ 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/codex-ui/src/vue/components/confirm/useConfirm.ts b/codex-ui/src/vue/components/confirm/useConfirm.ts index 937291f1..18aed3ea 100644 --- a/codex-ui/src/vue/components/confirm/useConfirm.ts +++ b/codex-ui/src/vue/components/confirm/useConfirm.ts @@ -1,15 +1,8 @@ import { createSharedComposable } from '@vueuse/core'; import { usePopup } from '../popup'; -import { ref } from 'vue'; import { Confirm } from '.'; export const useConfirm = createSharedComposable(() => { - /** - * Represents the result of the user's selection: false - Cancel button was pressed, - * true - Confirm button was pressed, undefined - no selection has been made yet - */ - const result = ref(); - /** * Used to create a Popup component that will display the current Confirm */ @@ -21,30 +14,23 @@ export const useConfirm = createSharedComposable(() => { * @returns user selection result */ async function confirm(title: string, text: string): Promise { - showPopup({ - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - component: Confirm, - props: { - title: title, - text: text, - onCancel: () => { - result.value = false; - }, - onConfirm: () => { - result.value = true; - }, - }, - }); - - /** - * Check if the user has pressed the confirm or close button - */ return new Promise((resolve) => { - if (result.value !== undefined) { - resolve(result.value); - } + showPopup({ + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + component: Confirm, + props: { + title: title, + text: text, + onCancel: () => { + resolve(false); + }, + onConfirm: () => { + resolve(true); + }, + }, + }); }); - }; + } return { confirm, From 34ef9e1dfc09eeeeab38e4e4ab56539fd8883df4 Mon Sep 17 00:00:00 2001 From: elizachi Date: Fri, 6 Sep 2024 23:15:42 +0300 Subject: [PATCH 35/36] Move on Escape reaction in usePopup --- codex-ui/src/vue/components/popup/Popup.vue | 22 +------------------ codex-ui/src/vue/components/popup/usePopup.ts | 21 +++++++++++++++++- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/codex-ui/src/vue/components/popup/Popup.vue b/codex-ui/src/vue/components/popup/Popup.vue index 142d0b78..2d04d139 100644 --- a/codex-ui/src/vue/components/popup/Popup.vue +++ b/codex-ui/src/vue/components/popup/Popup.vue @@ -23,7 +23,7 @@