superdesk-ui-framework 3.0.1-beta.3 → 3.0.1-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/fonts/sd_icons.eot +0 -0
- package/app/fonts/sd_icons.svg +14 -7
- package/app/fonts/sd_icons.ttf +0 -0
- package/app/fonts/sd_icons.woff +0 -0
- package/app/scripts/toggleBoxNext.js +1 -1
- package/app/styles/_big-icon-font.scss +1 -1
- package/app/styles/_buttons.scss +11 -6
- package/app/styles/_content-divider.scss +63 -8
- package/app/styles/_helpers.scss +24 -1
- package/app/styles/_icon-font.scss +17 -10
- package/app/styles/_labels.scss +0 -1
- package/app/styles/_master-desk.scss +3 -2
- package/app/styles/_modals.scss +6 -3
- package/app/styles/_normalize.scss +4 -0
- package/app/styles/_sd-tag-input.scss +256 -296
- package/app/styles/_simple-list.scss +0 -2
- package/app/styles/_table-list.scss +116 -12
- package/app/styles/app.scss +1 -0
- package/app/styles/components/_list-item.scss +36 -17
- package/app/styles/components/_sd-collapse-box.scss +6 -6
- package/app/styles/components/_sd-comment-box.scss +8 -4
- package/app/styles/components/_sd-editor-popup.scss +4 -4
- package/app/styles/components/_sd-grid-item.scss +30 -16
- package/app/styles/components/_sd-media-carousel.scss +37 -2
- package/app/styles/components/_sd-photo-preview.scss +3 -3
- package/app/styles/components/_sd-searchbar.scss +7 -0
- package/app/styles/components/_subnav.scss +470 -470
- package/app/styles/design-tokens/_design-tokens-general.scss +1 -1
- package/app/styles/design-tokens/_new-colors.scss +30 -13
- package/app/styles/dropdowns/_basic-dropdown.scss +6 -0
- package/app/styles/form-elements/_forms-general.scss +81 -7
- package/app/styles/form-elements/_input-wrap.scss +138 -0
- package/app/styles/form-elements/_inputs.scss +368 -110
- package/app/styles/grids/_grid-layout.scss +34 -1
- package/app/styles/interface-elements/_side-panel.scss +1 -1
- package/app/styles/layout/_basic-layout.scss +2 -2
- package/app/styles/layout/_editor.scss +10 -4
- package/app/styles/primereact/_pr-datepicker.scss +4 -2
- package/app/styles/primereact/_pr-dialog.scss +5 -0
- package/app/styles/primereact/_pr-dropdown.scss +17 -1
- package/app/styles/primereact/_pr-menu.scss +6 -5
- package/app/styles/variables/_colors.scss +21 -21
- package/app-typescript/components/Badge.tsx +3 -2
- package/app-typescript/components/ContentDivider.tsx +3 -0
- package/app-typescript/components/DatePicker.tsx +40 -52
- package/app-typescript/components/Dropdown.tsx +127 -82
- package/app-typescript/components/DurationInput.tsx +400 -0
- package/app-typescript/components/EmptyState.tsx +2 -1
- package/app-typescript/components/Form/FormLabel.tsx +8 -1
- package/app-typescript/components/Form/FormRowNew.tsx +41 -0
- package/app-typescript/components/Form/InputBase.tsx +95 -0
- package/app-typescript/components/Form/InputNew.tsx +107 -0
- package/app-typescript/components/Form/InputWrapper.tsx +79 -0
- package/app-typescript/components/Form/index.tsx +4 -0
- package/app-typescript/components/Input.tsx +28 -45
- package/app-typescript/components/Label.tsx +65 -10
- package/app-typescript/components/Layouts/AuthoringContainer.tsx +2 -1
- package/app-typescript/components/Layouts/AuthoringFrame.tsx +2 -1
- package/app-typescript/components/Layouts/AuthoringFrameRightBar.tsx +21 -2
- package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +1 -1
- package/app-typescript/components/Layouts/AuthoringMain.tsx +4 -2
- package/app-typescript/components/Layouts/CoreLayout.tsx +2 -1
- package/app-typescript/components/Layouts/CoreLayoutMain.tsx +7 -1
- package/app-typescript/components/Layouts/Layout.tsx +1 -1
- package/app-typescript/components/LeftMenu.tsx +127 -122
- package/app-typescript/components/Lists/ContentList.tsx +66 -33
- package/app-typescript/components/Lists/TableList.tsx +348 -151
- package/app-typescript/components/Menu.tsx +2 -2
- package/app-typescript/components/MultiSelect.tsx +37 -50
- package/app-typescript/components/NavButton.tsx +2 -1
- package/app-typescript/components/Navigation/BottomNav.tsx +3 -2
- package/app-typescript/components/SearchBar.tsx +39 -12
- package/app-typescript/components/Select.tsx +23 -41
- package/app-typescript/components/SelectWithTemplate.tsx +32 -7
- package/app-typescript/components/Spacer.tsx +87 -0
- package/app-typescript/components/TimePicker.tsx +38 -15
- package/app-typescript/components/TreeSelect.tsx +546 -212
- package/app-typescript/index.ts +6 -1
- package/dist/examples.bundle.css +344 -71
- package/dist/examples.bundle.js +48203 -45174
- package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +65 -54
- package/dist/playgrounds/react-playgrounds/Index.tsx +1 -0
- package/dist/playgrounds/react-playgrounds/Multiedit.tsx +321 -0
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
- package/dist/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
- package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +379 -25
- package/dist/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/dist/react/Badges.tsx +18 -0
- package/dist/react/ContentDivider.tsx +22 -18
- package/dist/react/ContentList.tsx +200 -18
- package/dist/react/DatePicker.tsx +21 -1
- package/dist/react/Dropdowns.tsx +580 -48
- package/dist/react/DurationInput.tsx +108 -0
- package/dist/react/Index.tsx +5 -0
- package/dist/react/Inputs.tsx +147 -2
- package/dist/react/Labels.tsx +51 -1
- package/dist/react/LeftNavigations.tsx +71 -44
- package/dist/react/MultiSelect.tsx +10 -7
- package/dist/react/NavButtons.tsx +31 -1
- package/dist/react/SelectWithTemplate.tsx +6 -1
- package/dist/react/TableList.tsx +79 -186
- package/dist/react/TimePicker.tsx +22 -12
- package/dist/react/Togglebox.tsx +1 -1
- package/dist/react/TreeSelect.tsx +295 -51
- package/dist/react/tree-select/TreeSelect.tsx +273 -0
- package/dist/react/tree-select/example-1.tsx +71 -0
- package/dist/react/tree-select/example-2.tsx +59 -0
- package/dist/sd_icons.eot +0 -0
- package/dist/sd_icons.svg +14 -7
- package/dist/sd_icons.ttf +0 -0
- package/dist/sd_icons.woff +0 -0
- package/dist/superdesk-ui.bundle.css +2282 -782
- package/dist/superdesk-ui.bundle.js +37312 -21800
- package/dist/vendor.bundle.js +27 -27
- package/examples/css/docs-page.css +4 -4
- package/examples/index.js +4 -0
- package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +65 -54
- package/examples/pages/playgrounds/react-playgrounds/Index.tsx +1 -0
- package/examples/pages/playgrounds/react-playgrounds/Multiedit.tsx +321 -0
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
- package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
- package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +379 -25
- package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
- package/examples/pages/react/Badges.tsx +18 -0
- package/examples/pages/react/ContentDivider.tsx +22 -18
- package/examples/pages/react/ContentList.tsx +200 -18
- package/examples/pages/react/DatePicker.tsx +21 -1
- package/examples/pages/react/Dropdowns.tsx +580 -48
- package/examples/pages/react/DurationInput.tsx +108 -0
- package/examples/pages/react/Index.tsx +5 -0
- package/examples/pages/react/Inputs.tsx +147 -2
- package/examples/pages/react/Labels.tsx +51 -1
- package/examples/pages/react/LeftNavigations.tsx +71 -44
- package/examples/pages/react/MultiSelect.tsx +10 -7
- package/examples/pages/react/NavButtons.tsx +31 -1
- package/examples/pages/react/SelectWithTemplate.tsx +6 -1
- package/examples/pages/react/TableList.tsx +79 -186
- package/examples/pages/react/TimePicker.tsx +22 -12
- package/examples/pages/react/Togglebox.tsx +1 -1
- package/examples/pages/react/TreeSelect.tsx +295 -51
- package/examples/pages/react/tree-select/TreeSelect.tsx +273 -0
- package/examples/pages/react/tree-select/example-1.tsx +71 -0
- package/examples/pages/react/tree-select/example-2.tsx +59 -0
- package/package.json +5 -5
- package/react/components/Badge.d.ts +1 -0
- package/react/components/Badge.js +2 -2
- package/react/components/ContentDivider.d.ts +1 -0
- package/react/components/ContentDivider.js +2 -0
- package/react/components/DatePicker.d.ts +1 -0
- package/react/components/DatePicker.js +6 -22
- package/react/components/Dropdown.d.ts +6 -5
- package/react/components/Dropdown.js +57 -30
- package/react/components/DurationInput.d.ts +42 -0
- package/react/components/DurationInput.js +364 -0
- package/react/components/EmptyState.d.ts +1 -0
- package/react/components/EmptyState.js +1 -1
- package/react/components/Form/FormLabel.d.ts +4 -1
- package/react/components/Form/FormLabel.js +9 -3
- package/react/components/Form/FormRowNew.d.ts +12 -0
- package/react/components/Form/FormRowNew.js +67 -0
- package/react/components/Form/InputBase.d.ts +41 -0
- package/react/components/Form/InputBase.js +86 -0
- package/react/components/Form/InputNew.d.ts +45 -0
- package/react/components/Form/InputNew.js +75 -0
- package/react/components/Form/InputWrapper.d.ts +28 -0
- package/react/components/Form/InputWrapper.js +91 -0
- package/react/components/Form/index.d.ts +4 -0
- package/react/components/Form/index.js +9 -1
- package/react/components/Input.js +5 -34
- package/react/components/Label.d.ts +2 -0
- package/react/components/Label.js +34 -3
- package/react/components/Layouts/AuthoringContainer.d.ts +1 -0
- package/react/components/Layouts/AuthoringContainer.js +1 -1
- package/react/components/Layouts/AuthoringFrame.d.ts +1 -0
- package/react/components/Layouts/AuthoringFrame.js +1 -1
- package/react/components/Layouts/AuthoringFrameRightBar.d.ts +9 -2
- package/react/components/Layouts/AuthoringFrameRightBar.js +14 -3
- package/react/components/Layouts/AuthoringInnerHeader.js +1 -1
- package/react/components/Layouts/AuthoringMain.js +1 -1
- package/react/components/Layouts/CoreLayout.d.ts +1 -0
- package/react/components/Layouts/CoreLayout.js +1 -1
- package/react/components/Layouts/CoreLayoutMain.d.ts +1 -0
- package/react/components/Layouts/CoreLayoutMain.js +8 -1
- package/react/components/Layouts/Layout.js +1 -1
- package/react/components/LeftMenu.d.ts +3 -1
- package/react/components/LeftMenu.js +8 -1
- package/react/components/Lists/ContentList.d.ts +51 -0
- package/react/components/Lists/ContentList.js +110 -0
- package/react/components/Lists/TableList.d.ts +64 -0
- package/react/components/Lists/TableList.js +240 -0
- package/react/components/Menu.js +1 -1
- package/react/components/MultiSelect.d.ts +40 -0
- package/react/components/MultiSelect.js +70 -0
- package/react/components/NavButton.d.ts +1 -1
- package/react/components/Navigation/BottomNav.d.ts +1 -0
- package/react/components/Navigation/BottomNav.js +2 -2
- package/react/components/SearchBar.d.ts +3 -2
- package/react/components/SearchBar.js +28 -4
- package/react/components/Select.d.ts +1 -1
- package/react/components/Select.js +4 -26
- package/react/components/SelectWithTemplate.d.ts +11 -1
- package/react/components/SelectWithTemplate.js +19 -10
- package/react/components/TimePicker.d.ts +11 -1
- package/react/components/TimePicker.js +10 -3
- package/react/components/TreeSelect.d.ts +82 -0
- package/react/components/TreeSelect.js +521 -0
- package/react/index.d.ts +6 -0
- package/react/index.js +16 -3
- package/.vscode/settings.json +0 -5
- package/app-typescript/dist/components/Alert.d.ts +0 -16
- package/app-typescript/dist/components/Autocomplete.d.ts +0 -48
- package/app-typescript/dist/components/Avatar.d.ts +0 -33
- package/app-typescript/dist/components/Badge.d.ts +0 -13
- package/app-typescript/dist/components/Button.d.ts +0 -23
- package/app-typescript/dist/components/ButtonGroup.d.ts +0 -12
- package/app-typescript/dist/components/CheckButtonGroup.d.ts +0 -11
- package/app-typescript/dist/components/CheckGroup.d.ts +0 -9
- package/app-typescript/dist/components/Checkbox.d.ts +0 -19
- package/app-typescript/dist/components/CheckboxButton.d.ts +0 -19
- package/app-typescript/dist/components/DatePicker.d.ts +0 -37
- package/app-typescript/dist/components/Divider.d.ts +0 -9
- package/app-typescript/dist/components/DonutChart.d.ts +0 -12
- package/app-typescript/dist/components/Dropdown.d.ts +0 -28
- package/app-typescript/dist/components/DropdownFirst.d.ts +0 -42
- package/app-typescript/dist/components/EmptyState.d.ts +0 -11
- package/app-typescript/dist/components/FormLabel.d.ts +0 -9
- package/app-typescript/dist/components/Genie.d.ts +0 -13
- package/app-typescript/dist/components/GridItem.d.ts +0 -69
- package/app-typescript/dist/components/GridList.d.ts +0 -14
- package/app-typescript/dist/components/HeadingText.d.ts +0 -10
- package/app-typescript/dist/components/HelloWorld.d.ts +0 -8
- package/app-typescript/dist/components/Icon.d.ts +0 -12
- package/app-typescript/dist/components/IconButton.d.ts +0 -12
- package/app-typescript/dist/components/IconLabel.d.ts +0 -11
- package/app-typescript/dist/components/Input.d.ts +0 -24
- package/app-typescript/dist/components/Label.d.ts +0 -15
- package/app-typescript/dist/components/LeftMenu.d.ts +0 -26
- package/app-typescript/dist/components/Loader.d.ts +0 -8
- package/app-typescript/dist/components/NavButton.d.ts +0 -15
- package/app-typescript/dist/components/Popover.d.ts +0 -13
- package/app-typescript/dist/components/PropsList.d.ts +0 -15
- package/app-typescript/dist/components/Radio.d.ts +0 -19
- package/app-typescript/dist/components/RadioButton.d.ts +0 -20
- package/app-typescript/dist/components/Select.d.ts +0 -29
- package/app-typescript/dist/components/SelectWithTemplate.d.ts +0 -32
- package/app-typescript/dist/components/SlidingToolbar.d.ts +0 -8
- package/app-typescript/dist/components/StrechBar.d.ts +0 -4
- package/app-typescript/dist/components/SubNav.d.ts +0 -10
- package/app-typescript/dist/components/Switch.d.ts +0 -12
- package/app-typescript/dist/components/TabCustom.d.ts +0 -25
- package/app-typescript/dist/components/TabList.d.ts +0 -22
- package/app-typescript/dist/components/Tag.d.ts +0 -9
- package/app-typescript/dist/components/TagInput.d.ts +0 -7
- package/app-typescript/dist/components/TagInputTest.d.ts +0 -18
- package/app-typescript/dist/components/TimePicker.d.ts +0 -11
- package/app-typescript/dist/components/Tooltip.d.ts +0 -11
- package/app-typescript/dist/components/_Positioner.d.ts +0 -27
- package/app-typescript/dist/index.d.ts +0 -56
- package/patches/@superdesk+primereact+5.0.2-4.patch +0 -57
- package/yarn-error.log +0 -111
@@ -5,6 +5,7 @@ import * as Layout from '../../../../app-typescript/components/Layouts';
|
|
5
5
|
import * as Form from '../../../../app-typescript/components/Form';
|
6
6
|
import * as Nav from '../../../../app-typescript/components/Navigation';
|
7
7
|
import { BottomNav } from '../../../../app-typescript/components/Navigation/BottomNav';
|
8
|
+
import { clone } from 'lodash';
|
8
9
|
|
9
10
|
interface IProps {
|
10
11
|
children?: React.ReactNode;
|
@@ -19,6 +20,7 @@ interface IState {
|
|
19
20
|
theme: 'dark' | 'light' | string;
|
20
21
|
mainMenuOpen: boolean;
|
21
22
|
notificationsOpen: boolean;
|
23
|
+
botNavArray: any;
|
22
24
|
}
|
23
25
|
|
24
26
|
export class CoreLayout extends React.Component<IProps, IState> {
|
@@ -28,9 +30,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
28
30
|
theme: 'light',
|
29
31
|
mainMenuOpen: false,
|
30
32
|
notificationsOpen: false,
|
33
|
+
botNavArray: [
|
34
|
+
{ icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => false, onRemove: (e) => this.handleDelete(e) },
|
35
|
+
{ title: 'Nullam id dolor id nibh ultricies.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
36
|
+
{ icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
37
|
+
{ title: 'Donec sed odio dui.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
|
38
|
+
]
|
31
39
|
}
|
32
40
|
this.handleMainMenu = this.handleMainMenu.bind(this);
|
33
41
|
this.handleNotifications = this.handleNotifications.bind(this);
|
42
|
+
this.handleDelete = this.handleDelete.bind(this);
|
34
43
|
}
|
35
44
|
|
36
45
|
handleMainMenu() {
|
@@ -38,56 +47,65 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
38
47
|
mainMenuOpen: !state.mainMenuOpen,
|
39
48
|
}));
|
40
49
|
}
|
50
|
+
|
41
51
|
handleNotifications() {
|
42
52
|
this.setState((state) => ({
|
43
53
|
notificationsOpen: !state.notificationsOpen,
|
44
54
|
}));
|
45
55
|
}
|
56
|
+
|
57
|
+
handleDelete(indexNumber: number) {
|
58
|
+
const newItems = clone(this.state.botNavArray);
|
59
|
+
newItems.splice(indexNumber, 1);
|
46
60
|
|
61
|
+
this.setState({
|
62
|
+
botNavArray: newItems,
|
63
|
+
});
|
64
|
+
}
|
47
65
|
|
48
66
|
render() {
|
49
67
|
return (
|
50
68
|
<Layout.CoreLayout
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
69
|
+
heading='Core Layout'
|
70
|
+
menuOpen={this.state.mainMenuOpen}
|
71
|
+
onClick={this.handleMainMenu}
|
72
|
+
active={this.state.mainMenuOpen}
|
73
|
+
ariaControls='main-menu'
|
74
|
+
menuId='main-menu'
|
75
|
+
editorFullWidth={false}
|
76
|
+
slideInMenu={(
|
77
|
+
<Layout.MainMenu
|
78
|
+
headerTitle='Main Menu'
|
79
|
+
poweredBy='Powered by Superdesk technology'
|
80
|
+
header={(null)}
|
81
|
+
footerContent={true}
|
82
|
+
footer={(
|
83
|
+
<p>Menu footer testing</p>
|
84
|
+
)}>
|
85
|
+
<LeftMenu
|
86
|
+
style='blanc'
|
87
|
+
reverseItemBorder={true}
|
88
|
+
size='large'
|
89
|
+
ariaLabel={'Left navigation'}
|
90
|
+
activeItemId='1'
|
91
|
+
groups={[
|
92
|
+
{ label: 'MAIN SECTIONS', items: [
|
93
|
+
{ id: '1', label: 'Section 1', ref:'section1'},
|
94
|
+
{ id: '2', label: 'Section 2', ref: 'section2' },
|
95
|
+
{ id: '3', label: 'Section 3', ref: 'section3' },
|
96
|
+
|
97
|
+
]},
|
98
|
+
{ label:'OTHER SECTIONS', items: [
|
99
|
+
{ id: '4', label: 'Section 4', ref: 'section4' },
|
100
|
+
{ id: '5', label: 'Section 5', ref: 'section5' },
|
101
|
+
]},
|
102
|
+
{ label:'OTHER SECTIONS', items: [
|
103
|
+
{ id: '6', label: 'Section 6', ref: 'section6' },
|
104
|
+
{ id: '7', label: 'Section 7', ref: 'section7' },
|
105
|
+
]}
|
106
|
+
]}
|
107
|
+
onSelect={() => false} />
|
108
|
+
</Layout.MainMenu>
|
91
109
|
)}
|
92
110
|
topMenu={(
|
93
111
|
<NavButton badgeValue='6' icon='bell' text='Show notifications' onClick={this.handleNotifications} />
|
@@ -96,22 +114,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
96
114
|
<>
|
97
115
|
<Layout.BottomBarAction onClick={()=> false} />
|
98
116
|
<BottomNav
|
99
|
-
items={
|
100
|
-
{ icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => console.log('test1') },
|
101
|
-
{ title: 'Nullam id dolor id nibh ultricies.', onClick: () => console.log('test2')},
|
102
|
-
{ icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false},
|
103
|
-
{ title: 'Donec sed odio dui.', onClick: () => false},
|
104
|
-
]} />
|
117
|
+
items={this.state.botNavArray} />
|
105
118
|
</>
|
106
119
|
)}
|
107
120
|
overlay={(
|
108
121
|
<Layout.NotificationPanel
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
>
|
122
|
+
header={(null)}
|
123
|
+
headerTitle='Notifications'
|
124
|
+
open={this.state.notificationsOpen}
|
125
|
+
onClick={this.handleNotifications}
|
126
|
+
theme='dark'>
|
115
127
|
<BoxedList>
|
116
128
|
<BoxedListItem unread={true}>
|
117
129
|
<Time datetime='29.06.2022'>29.06.2022</Time>
|
@@ -137,8 +149,7 @@ export class CoreLayout extends React.Component<IProps, IState> {
|
|
137
149
|
</BoxedList>
|
138
150
|
|
139
151
|
</Layout.NotificationPanel>
|
140
|
-
)}
|
141
|
-
>
|
152
|
+
)}>
|
142
153
|
</Layout.CoreLayout>
|
143
154
|
);
|
144
155
|
}
|
@@ -4,6 +4,7 @@ export { TestGround } from './TestGround';
|
|
4
4
|
export { UiPlayground } from './UiPlayground';
|
5
5
|
export { PageLayoutTest } from './PageLayoutTest';
|
6
6
|
export { EditorTest } from './EditorTest';
|
7
|
+
export { Multiedit } from './Multiedit';
|
7
8
|
export { RundownEditor } from './RundownEditor';
|
8
9
|
export { PersonalProfile } from './PersonalProfile';
|
9
10
|
export { Rundowns } from './Rundowns';
|
@@ -0,0 +1,321 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import * as Components from './components/Index';
|
3
|
+
import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Switch, Icon, AvatarWrapper, AvatarContentImage, AvatarContentText, Text, EmptyState, Alert, SlidingToolbar, TabLabel, Tabs, Heading, Modal } from '../../../../app-typescript/index';
|
4
|
+
import * as Layout from '../../../../app-typescript/components/Layouts';
|
5
|
+
import * as Form from '../../../../app-typescript/components/Form';
|
6
|
+
import * as Nav from '../../../../app-typescript/components/Navigation';
|
7
|
+
import { BoxedList, BoxedListItem, BoxedListContentRow } from '../../../../app-typescript/components/Lists';
|
8
|
+
import { Spacer } from '../../../../app-typescript/components/Spacer';
|
9
|
+
|
10
|
+
interface IProps {
|
11
|
+
children?: React.ReactNode;
|
12
|
+
}
|
13
|
+
|
14
|
+
interface IState {
|
15
|
+
theme: 'dark' | 'light' | string;
|
16
|
+
itemType: string;
|
17
|
+
dropDownState: string;
|
18
|
+
itemSelected1: boolean;
|
19
|
+
itemSelected2: boolean;
|
20
|
+
itemSelected3: boolean;
|
21
|
+
value1: boolean;
|
22
|
+
value2: boolean;
|
23
|
+
value3: boolean;
|
24
|
+
leftPanelOpen: boolean;
|
25
|
+
rightPanelOpen: boolean;
|
26
|
+
rightPanelPinned: boolean;
|
27
|
+
sideOverlayOpen: boolean;
|
28
|
+
sideBarOpen: boolean;
|
29
|
+
arr: any;
|
30
|
+
}
|
31
|
+
|
32
|
+
export class Multiedit extends React.Component<IProps, IState> {
|
33
|
+
constructor(props: IProps) {
|
34
|
+
super(props);
|
35
|
+
this.state = {
|
36
|
+
theme: 'light',
|
37
|
+
itemType: 'itemtype01',
|
38
|
+
dropDownState: '',
|
39
|
+
itemSelected1: false,
|
40
|
+
itemSelected2: false,
|
41
|
+
itemSelected3: false,
|
42
|
+
value1: false,
|
43
|
+
value2: false,
|
44
|
+
value3: false,
|
45
|
+
leftPanelOpen: false,
|
46
|
+
rightPanelOpen: false,
|
47
|
+
rightPanelPinned: false,
|
48
|
+
sideOverlayOpen: false,
|
49
|
+
sideBarOpen: false,
|
50
|
+
arr: [<Editor />, <Editor />]
|
51
|
+
|
52
|
+
}
|
53
|
+
this.handleTheme = this.handleTheme.bind(this);
|
54
|
+
}
|
55
|
+
|
56
|
+
handleTheme(newTheme: string) {
|
57
|
+
this.setState({
|
58
|
+
theme: newTheme
|
59
|
+
})
|
60
|
+
}
|
61
|
+
|
62
|
+
changeStatus(item: any, status: string) {
|
63
|
+
if (item.status.includes(status)) {
|
64
|
+
item.status.splice(item.status.indexOf(status), 1);
|
65
|
+
} else {
|
66
|
+
item.status.push(status);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
render() {
|
71
|
+
return (
|
72
|
+
<Modal
|
73
|
+
className='p-dialog-flex'
|
74
|
+
onHide={() => false}
|
75
|
+
maximized={true} contentPadding={"none"}
|
76
|
+
headerTemplate="Multiedit"
|
77
|
+
visible={true} >
|
78
|
+
<Spacer children={this.state.arr} gap={'0'}></Spacer>
|
79
|
+
<div style={{
|
80
|
+
padding: '0 20px',
|
81
|
+
display: 'flex',
|
82
|
+
alignItems: 'center'
|
83
|
+
}}>
|
84
|
+
<Dropdown
|
85
|
+
append
|
86
|
+
items={[
|
87
|
+
{ label: 'Action 1', onSelect: () => this.setState({arr: [...this.state.arr, <Editor />]}) },
|
88
|
+
]}>
|
89
|
+
<Button type="primary" icon="plus-large" text="Add article" style="filled" size="large" shape="round" iconOnly={true} onClick={()=> false} />
|
90
|
+
</Dropdown>
|
91
|
+
</div>
|
92
|
+
</Modal>
|
93
|
+
);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
interface IEditor {
|
98
|
+
sideBarOpen?: boolean;
|
99
|
+
}
|
100
|
+
|
101
|
+
export class Editor extends React.Component<IEditor, IEditor> {
|
102
|
+
constructor(props: IEditor) {
|
103
|
+
super(props);
|
104
|
+
this.state = {
|
105
|
+
sideBarOpen: false,
|
106
|
+
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
render() {
|
111
|
+
return <div style={{borderRight: '4px solid grey'}}>
|
112
|
+
<Layout.AuthoringFrame
|
113
|
+
header={(
|
114
|
+
<SubNav zIndex={2}>
|
115
|
+
<ButtonGroup align='end'>
|
116
|
+
<ButtonGroup subgroup={true} spaces="no-space">
|
117
|
+
<Tooltip text='More actions' flow='left'>
|
118
|
+
<NavButton type='default' icon='dots-vertical' text='More actions' onClick={()=> false} />
|
119
|
+
</Tooltip>
|
120
|
+
<Tooltip text='Send to / Publish' flow='left'>
|
121
|
+
<NavButton type='highlight' icon='send-to' iconSize='big' text='Send to / Publish' onClick={()=> false} />
|
122
|
+
</Tooltip>
|
123
|
+
<Tooltip text='Send to / Publish' flow='left'>
|
124
|
+
<NavButton type='darker' icon={this.state.sideBarOpen ? 'forward-thin' : 'backward-thin'} text='More actions' onClick={()=> this.setState({sideBarOpen: !this.state.sideBarOpen})} />
|
125
|
+
</Tooltip>
|
126
|
+
</ButtonGroup>
|
127
|
+
</ButtonGroup>
|
128
|
+
</SubNav>
|
129
|
+
)}
|
130
|
+
main={(
|
131
|
+
<Layout.AuthoringMain
|
132
|
+
headerPadding='medium'
|
133
|
+
toolBar={(
|
134
|
+
<React.Fragment>
|
135
|
+
<div className="sd-editor-toolbar__content">
|
136
|
+
<dl>
|
137
|
+
<dt>Created</dt>
|
138
|
+
<dd><time title="July 29, 2021 3:58 PM">07/29</time></dd>
|
139
|
+
<dt>by</dt>
|
140
|
+
<dt>Nareg Asmarian</dt>
|
141
|
+
</dl>
|
142
|
+
<dl>
|
143
|
+
<dt>Modified</dt>
|
144
|
+
<dd><time title="July 29, 2021 3:58 PM">07/29</time></dd>
|
145
|
+
</dl>
|
146
|
+
</div>
|
147
|
+
<ButtonGroup align='end'>
|
148
|
+
<IconButton icon="preview-mode" toolTipAppend={true} ariaValue="Print preview" onClick={()=> false} />
|
149
|
+
<IconButton icon="adjust" ariaValue="Toogle theme" onClick={()=> false} />
|
150
|
+
<IconButton icon="switches" ariaValue="Theme settings" onClick={()=> false} />
|
151
|
+
</ButtonGroup>
|
152
|
+
</React.Fragment>
|
153
|
+
)}
|
154
|
+
authoringHeader ={(
|
155
|
+
<React.Fragment>
|
156
|
+
<Form.FormGroup inlineLabel={true}>
|
157
|
+
<Form.FormItem>
|
158
|
+
<Input
|
159
|
+
type='text'
|
160
|
+
label='Slugline'
|
161
|
+
value='This is some value'
|
162
|
+
maxLength={30}
|
163
|
+
error='This is error message'
|
164
|
+
info='This is some hint message'
|
165
|
+
required={false}
|
166
|
+
disabled={false}
|
167
|
+
invalid={false}
|
168
|
+
onChange={(value) => {}} />
|
169
|
+
</Form.FormItem>
|
170
|
+
<Form.FormItem>
|
171
|
+
<Input
|
172
|
+
type='text'
|
173
|
+
label='Slugline'
|
174
|
+
value='This is some value'
|
175
|
+
maxLength={30}
|
176
|
+
error='This is error message'
|
177
|
+
info='This is some hint message'
|
178
|
+
required={false}
|
179
|
+
disabled={false}
|
180
|
+
invalid={false}
|
181
|
+
onChange={(value) => {}} />
|
182
|
+
</Form.FormItem>
|
183
|
+
</Form.FormGroup>
|
184
|
+
<Form.FormGroup inlineLabel={true}>
|
185
|
+
<Form.FormItem>
|
186
|
+
<Input
|
187
|
+
type='text'
|
188
|
+
label='Genre'
|
189
|
+
value='This is some value'
|
190
|
+
maxLength={30}
|
191
|
+
error='This is error message'
|
192
|
+
info='This is some hint message'
|
193
|
+
required={false}
|
194
|
+
disabled={false}
|
195
|
+
invalid={false}
|
196
|
+
onChange={(value) => {}} />
|
197
|
+
</Form.FormItem>
|
198
|
+
</Form.FormGroup>
|
199
|
+
<Form.FormGroup marginBottom='0' inlineLabel={true}>
|
200
|
+
<Form.FormItem>
|
201
|
+
<Input
|
202
|
+
type='text'
|
203
|
+
label='Subject'
|
204
|
+
value='This is some value'
|
205
|
+
maxLength={30}
|
206
|
+
error='This is error message'
|
207
|
+
info='This is some hint message'
|
208
|
+
required={true}
|
209
|
+
disabled={false}
|
210
|
+
invalid={false}
|
211
|
+
onChange={(value) => {}} />
|
212
|
+
</Form.FormItem>
|
213
|
+
<Form.FormItem autoWidth={true}>
|
214
|
+
<Form.FormText>Just testing:</Form.FormText>
|
215
|
+
</Form.FormItem>
|
216
|
+
<Form.FormItem>
|
217
|
+
<Select
|
218
|
+
label='Categories'
|
219
|
+
labelHidden={true}
|
220
|
+
value='This is some value'
|
221
|
+
error='This is error message'
|
222
|
+
info='This is some hint message'
|
223
|
+
required={true}
|
224
|
+
disabled={false}
|
225
|
+
invalid={false}
|
226
|
+
onChange={(value) => {}}>
|
227
|
+
<Option>Option 1</Option>
|
228
|
+
<Option>Option 2</Option>
|
229
|
+
</Select>
|
230
|
+
</Form.FormItem>
|
231
|
+
<Form.FormItem autoWidth={true}>
|
232
|
+
<ButtonGroup>
|
233
|
+
<IconButton ariaValue="Submit" icon="picture" onClick={()=> false} />
|
234
|
+
<Button text="Cancel" onClick={()=> false} type="default" style="hollow" />
|
235
|
+
<Button text="Submit" onClick={()=> false} type="primary" />
|
236
|
+
</ButtonGroup>
|
237
|
+
</Form.FormItem>
|
238
|
+
</Form.FormGroup>
|
239
|
+
</React.Fragment>
|
240
|
+
)}>
|
241
|
+
</Layout.AuthoringMain>
|
242
|
+
)}
|
243
|
+
sidePanel={(
|
244
|
+
<Layout.Panel side='right' background='grey' open={false} size='x-small'>
|
245
|
+
<Layout.PanelHeader title='Pinned content' onClose={() => false}>
|
246
|
+
</Layout.PanelHeader>
|
247
|
+
<Layout.PanelContent>
|
248
|
+
<Layout.PanelContentBlock>
|
249
|
+
<BoxedList density='comfortable'>
|
250
|
+
<BoxedListItem
|
251
|
+
type="success"
|
252
|
+
clickable={true}
|
253
|
+
media={(
|
254
|
+
<Icon name='slideshow' />
|
255
|
+
)}
|
256
|
+
actions={(
|
257
|
+
<IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
|
258
|
+
)}
|
259
|
+
>
|
260
|
+
<BoxedListContentRow>
|
261
|
+
Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.
|
262
|
+
</BoxedListContentRow>
|
263
|
+
<BoxedListContentRow>
|
264
|
+
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
|
265
|
+
</BoxedListContentRow>
|
266
|
+
</BoxedListItem>
|
267
|
+
<BoxedListItem
|
268
|
+
type="warning"
|
269
|
+
media={(
|
270
|
+
<AvatarWrapper
|
271
|
+
size="medium"
|
272
|
+
>
|
273
|
+
<AvatarContentText text="JL" tooltipText="Jeffrey Lebowski" />
|
274
|
+
</AvatarWrapper>
|
275
|
+
)}
|
276
|
+
footer={(
|
277
|
+
<ButtonGroup align="end">
|
278
|
+
<Button text="cancel" size="small" style="hollow" onClick={()=> false} />
|
279
|
+
<Button text="yes" size="small" style="hollow" type="primary" onClick={()=> false} />
|
280
|
+
</ButtonGroup>
|
281
|
+
)}
|
282
|
+
actions={(
|
283
|
+
<IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
|
284
|
+
)}
|
285
|
+
>
|
286
|
+
<BoxedListContentRow>
|
287
|
+
Maecenas sed diam eget risus varius blandit sit amet magna.
|
288
|
+
</BoxedListContentRow>
|
289
|
+
</BoxedListItem>
|
290
|
+
<BoxedListItem
|
291
|
+
selected={true}
|
292
|
+
actions={(
|
293
|
+
<IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
|
294
|
+
)}
|
295
|
+
>
|
296
|
+
<BoxedListContentRow>
|
297
|
+
Maecenas sed diam eget risus varius blandit sit amet magna. Vestibulum id ligula porta felis euismod semper.
|
298
|
+
</BoxedListContentRow>
|
299
|
+
</BoxedListItem>
|
300
|
+
</BoxedList>
|
301
|
+
</Layout.PanelContentBlock>
|
302
|
+
</Layout.PanelContent>
|
303
|
+
</Layout.Panel>
|
304
|
+
)}
|
305
|
+
|
306
|
+
sideBarClosed={this.state.sideBarOpen}
|
307
|
+
sideBar={(
|
308
|
+
<Nav.SideBarTabs
|
309
|
+
items={[
|
310
|
+
{ icon: 'info', size: 'big', tooltip: 'Info', onClick: () => false },
|
311
|
+
{ icon: 'chat', size: 'big', tooltip: 'Comments', onClick: () => false },
|
312
|
+
{ icon: 'history', size: 'big', tooltip: 'History', onClick: () => false },
|
313
|
+
{ icon: 'package', size: 'big', tooltip: 'Packages', onClick: () => false },
|
314
|
+
{ icon: 'attachment', size: 'big', tooltip: 'Attachments', onClick: () => false },
|
315
|
+
{ icon: 'comments', size: 'big', tooltip: 'Inline Comments', onClick: () => false },
|
316
|
+
{ icon: 'suggestion', size: 'big', tooltip: 'Suggestions', onClick: () => false }]} />
|
317
|
+
)}
|
318
|
+
/>
|
319
|
+
</div>
|
320
|
+
}
|
321
|
+
}
|
@@ -1,11 +1,8 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import
|
3
|
-
import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Switch, Icon, AvatarWrapper, AvatarContentImage, AvatarContentText, Text, EmptyState, Alert, SlidingToolbar, TabLabel, Tabs, Heading, RadioButtonGroup, Container, Label, IconLabel } from '../../../../app-typescript/index';
|
2
|
+
import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Text, SlidingToolbar, Container, Label, IconLabel } from '../../../../app-typescript/index';
|
4
3
|
import * as Layout from '../../../../app-typescript/components/Layouts';
|
5
4
|
import * as Form from '../../../../app-typescript/components/Form';
|
6
5
|
import * as Nav from '../../../../app-typescript/components/Navigation';
|
7
|
-
import { BoxedList, BoxedListItem, BoxedListContentRow } from '../../../../app-typescript/components/Lists';
|
8
|
-
import { SimpleList, SimpleListItem } from '../../../../app-typescript/components/Lists';
|
9
6
|
import { TableList } from '../../../../app-typescript/components/Lists/TableList';
|
10
7
|
|
11
8
|
interface IProps {
|
@@ -27,6 +24,7 @@ interface IState {
|
|
27
24
|
rightPanelPinned: boolean;
|
28
25
|
sideOverlayOpen: boolean;
|
29
26
|
array: any;
|
27
|
+
inputValue: string;
|
30
28
|
}
|
31
29
|
|
32
30
|
export class RundownEditor extends React.Component<IProps, IState> {
|
@@ -46,6 +44,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
46
44
|
rightPanelOpen: false,
|
47
45
|
rightPanelPinned: false,
|
48
46
|
sideOverlayOpen: false,
|
47
|
+
inputValue: 'string',
|
49
48
|
array: [
|
50
49
|
{
|
51
50
|
start: <>
|
@@ -113,7 +112,6 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
113
112
|
onClick: () => { this.setState({rightPanelOpen: !this.state.rightPanelOpen})}
|
114
113
|
},
|
115
114
|
]
|
116
|
-
|
117
115
|
}
|
118
116
|
this.handleTheme = this.handleTheme.bind(this);
|
119
117
|
}
|
@@ -137,7 +135,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
137
135
|
<Layout.HeaderPanel>
|
138
136
|
<SubNav>
|
139
137
|
<ButtonGroup align='end'>
|
140
|
-
<Button text="Cancel"
|
138
|
+
<Button text="Cancel" onClick={()=> false} type="default" />
|
141
139
|
<Button text="Save Rundown" onClick={()=> false} type="primary" />
|
142
140
|
<Divider size="mini" />
|
143
141
|
<ButtonGroup subgroup={true} spaces="no-space">
|
@@ -299,31 +297,35 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
299
297
|
)}
|
300
298
|
>
|
301
299
|
<Container direction='column' className='sd-margin-y--2'>
|
302
|
-
<
|
303
|
-
|
300
|
+
<Input
|
301
|
+
label='Rundown title'
|
302
|
+
value={'Marker // 01.06.2022'}
|
303
|
+
boxedStyle={true}
|
304
|
+
boxedLable={true}
|
305
|
+
size='x-large'
|
306
|
+
placeholder='Rundown title'
|
307
|
+
labelHidden={true}
|
304
308
|
type='text'
|
305
|
-
|
306
|
-
|
309
|
+
tabindex={0}
|
310
|
+
onChange={(value) => this.setState({inputValue: value})} />
|
307
311
|
</Container>
|
308
312
|
<ButtonGroup>
|
309
313
|
<IconLabel style='translucent' innerLabel='Airtime:' text='19:00 - 19:45' size='large' type='primary' icon='time' />
|
310
314
|
<IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='large' type='warning' />
|
311
315
|
<Text color='light' size='medium' className='sd-margin--0'>OF</Text>
|
312
|
-
<IconLabel style='translucent' innerLabel='Planned
|
316
|
+
<IconLabel style='translucent' innerLabel='Planned:'text='00:45' size='large' />
|
313
317
|
</ButtonGroup>
|
314
|
-
|
315
318
|
<TableList
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
/>
|
319
|
+
className='sd-margin-y--4'
|
320
|
+
dragAndDrop
|
321
|
+
addItem
|
322
|
+
array={this.state.array}
|
323
|
+
itemsDropdown={() => [
|
324
|
+
{ label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
|
325
|
+
{ label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
|
326
|
+
{ label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
|
327
|
+
]}
|
328
|
+
/>
|
327
329
|
|
328
330
|
</Layout.AuthoringMain>
|
329
331
|
</Layout.MainPanel>
|
@@ -336,6 +338,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
|
|
336
338
|
<Layout.AuthoringMain
|
337
339
|
headerPadding='medium'
|
338
340
|
toolbarCustom={true}
|
341
|
+
headerCollapsed={true}
|
339
342
|
toolBar={(
|
340
343
|
<React.Fragment>
|
341
344
|
<SubNav className='sd-shadow--z0'>
|