Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop/fazil #1

Open
wants to merge 151 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
85c03f4
Initial commit
lutherdexter Mar 5, 2019
7d24974
project setup
lutherdexter Mar 5, 2019
0eb0a1f
project setup - react app, setup state and constansts
lutherdexter Mar 6, 2019
1891f7d
setup project for typescript
lutherdexter Mar 6, 2019
6196886
added query and dictionary reducers with action creators
lutherdexter Mar 8, 2019
3a66f26
fixed build issues relating to -jsx flag, added export default undefined
lutherdexter Mar 8, 2019
ba32dba
fixed combineReducer issue relating to passing array parameters
lutherdexter Mar 8, 2019
cfaf717
add action creators to manage user requests
lutherdexter Mar 9, 2019
da8ad91
testing request reducers
lutherdexter Mar 9, 2019
4588a5a
fixed edit comment reducer
lutherdexter Mar 10, 2019
5551dcf
prior to refactoring query reducers
lutherdexter Mar 10, 2019
50b94e7
refactored comments reducer
lutherdexter Mar 10, 2019
2e6aa51
support screen initialstate
lutherdexter Mar 10, 2019
50f14fe
added actions, action creatores and reducers for support fields
lutherdexter Mar 11, 2019
2d70936
added redux-store
lutherdexter Mar 11, 2019
e62215f
switcjed to redux-store and added react-redux depemdency
lutherdexter Mar 11, 2019
a1bbae4
fixed redux provider and store issue
lutherdexter Mar 11, 2019
7e5e738
fixed store.getState issue
lutherdexter Mar 12, 2019
da42a2e
exclude dll
lutherdexter Mar 13, 2019
7b6eae8
fixed node issues
lutherdexter Mar 13, 2019
01cc6e0
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Mar 13, 2019
7bc4135
updated ticket module
lutherdexter Mar 13, 2019
b0da60c
resolve requestService conflict
lutherdexter Mar 13, 2019
b48f6c7
added csom proj
lutherdexter Mar 14, 2019
bcc3bf0
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Mar 14, 2019
3f1da36
services module
lutherdexter Mar 14, 2019
fc3b6e3
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Mar 14, 2019
418c46e
add submitter services and action creators
lutherdexter Mar 15, 2019
a3d26f9
added get profile code for testing
lutherdexter Mar 16, 2019
abff929
added get method for engagement type
lutherdexter Mar 17, 2019
704d02b
added submitter and dictionary item services mocks
lutherdexter Mar 17, 2019
3858bc5
added frontend folder structure
lutherdexter Mar 17, 2019
1ec16b5
installed es6 promise
lutherdexter Mar 17, 2019
ea79e47
updated submitterservice
lutherdexter Mar 19, 2019
d0e777d
started newticket FE
lutherdexter Mar 19, 2019
deabf78
added 3 columns view to new ticket form
lutherdexter Mar 20, 2019
a558440
linked ticket object to FE controls on newTicket form
lutherdexter Mar 20, 2019
a9c2d41
new ticket form layout and fabric plumbing
lutherdexter Mar 21, 2019
caa62ec
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Mar 21, 2019
7d250c5
first draft - ticket field section of new ticket form
lutherdexter Mar 21, 2019
32d88e5
added dictonary thunk action
lutherdexter Mar 22, 2019
9d9d50b
troubleshooting engagement type thunk action
lutherdexter Mar 22, 2019
74c4613
bug fixing engagementTypes thunk
lutherdexter Mar 23, 2019
931f7ba
added logger and npm install --save raven-for-redux
lutherdexter Mar 23, 2019
cdbbbad
starting to refactor actions
lutherdexter Mar 24, 2019
000f917
refactored actions and reducers
lutherdexter Mar 24, 2019
e48c43f
testing engagement type
lutherdexter Mar 24, 2019
281c8bf
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Mar 24, 2019
266b316
refactor code with typed objects
lutherdexter Mar 26, 2019
3c542e8
fixed objects destructuring with bracket notation
lutherdexter Mar 26, 2019
7df264c
fixing getEngagementTypes REST
lutherdexter Mar 26, 2019
018039c
debugging REST
lutherdexter Mar 26, 2019
ebfc8e9
fixedREST bug
lutherdexter Mar 26, 2019
d1a9c70
repositioned app dispatch
lutherdexter Mar 26, 2019
b5f3206
dictionary item changes
lutherdexter Mar 26, 2019
0ef59b0
checkpoint for returning json object from dictionary rest api
lutherdexter Mar 27, 2019
d857653
dictionary logic and FE bug fixing
lutherdexter Mar 28, 2019
92e6f3e
fixed bug causing mismatch between byId reduce and promisevalue
lutherdexter Mar 29, 2019
4666988
fixed new ticket front end issues
lutherdexter Mar 29, 2019
6a248b8
latest FE updates for new ticket form
lutherdexter Mar 29, 2019
4dcb865
refactoring dictionary actions
lutherdexter Mar 29, 2019
a0caae1
added dictionary actions types and creators
lutherdexter Mar 30, 2019
ab830eb
commit before moving provider to index.ts
lutherdexter Mar 30, 2019
29312f9
provider and store moved to index.tsx
lutherdexter Mar 30, 2019
b405cfd
adding reducers for dictionary entities
lutherdexter Mar 31, 2019
3e0e596
refactor dictionary reducer
lutherdexter Mar 31, 2019
785a92f
fetchdictionary for all entities
lutherdexter Mar 31, 2019
a3c2884
mapstateToProps for newTicket
lutherdexter Mar 31, 2019
ed9773b
refactoring new ticket form
lutherdexter Mar 31, 2019
59b3978
mapStateToProps
lutherdexter Apr 1, 2019
b8e0ec0
debugging props and set of newTicket form
lutherdexter Apr 2, 2019
93bf18f
added action types, action creators, reducers and store for user objects
lutherdexter Apr 3, 2019
59f5c5e
added User obj props
lutherdexter Apr 3, 2019
528337c
testing user dispatch
lutherdexter Apr 4, 2019
ec6537c
solved react undefined error and updated userServices
lutherdexter Apr 4, 2019
dd6993c
Fixed IAppProps optional props
lutherdexter Apr 4, 2019
ef1ed6b
Ticket action types and creators
lutherdexter Apr 4, 2019
cadab12
ticketapi checkpoint
lutherdexter Apr 4, 2019
0c40e82
ITicket_surface
lutherdexter Apr 5, 2019
69ea5ac
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Apr 5, 2019
cbf84ba
refactored ticket action types and creators, reducers and initialstate
lutherdexter Apr 6, 2019
8bc90a5
refactoring dictionary logic
lutherdexter Apr 6, 2019
6683fae
Merge branch 'master' of https://github.com/lutherdexter/kats
lutherdexter Apr 6, 2019
e64dab8
getUsers functionality
lutherdexter Apr 7, 2019
0c70551
fixed middleware issue
lutherdexter Apr 7, 2019
cd567fb
fixed NewTicket props bug
lutherdexter Apr 7, 2019
70253b3
updated naming conventions for user, dictionary and comment models
lutherdexter Apr 8, 2019
22b7a19
refactored dictionary
lutherdexter Apr 8, 2019
f54f525
troubleshooting map error in newticket component
lutherdexter Apr 9, 2019
92376dc
getUserProfileByName soap version
lutherdexter Apr 9, 2019
e85d75e
new folder structure
lutherdexter Apr 9, 2019
bd4b379
webpack-added
ahamedfazil Apr 9, 2019
f2e2169
gulp-webpack-done
Apr 10, 2019
a473cf9
user-underwork
Apr 10, 2019
a5c31d4
initial-store-setup
Apr 10, 2019
22612dc
test
ahamedfazil Apr 10, 2019
ab3431d
first
ahamedfazil Apr 11, 2019
64910f2
pp
ahamedfazil Apr 11, 2019
466dbb6
dropdown
ahamedfazil Apr 11, 2019
a85d48c
dd-kendo-text-checkbox
Apr 12, 2019
6c55253
category-updated
Apr 12, 2019
6d5b8bc
TagPicker-done
Apr 12, 2019
f180a27
supportGroup-added-save(peoplepicker)
Apr 13, 2019
94fd1ca
datepicker-updated
Apr 14, 2019
47acf9e
added basic ui new ticket UI
lutherdexter Apr 14, 2019
c788b47
datepicker methods
lutherdexter Apr 14, 2019
f251fb5
basic ticket UI changes
lutherdexter Apr 14, 2019
2b49759
ui-update-faz
Apr 14, 2019
661faf6
save-full-fields
Apr 14, 2019
3a97083
progress-dialog-added
Apr 14, 2019
87d6efa
updated-mapper
Apr 14, 2019
ca7e134
mapper-update
Apr 14, 2019
24dd65e
polyfile-update
Apr 14, 2019
e8a8df2
isSupportUser-added
Apr 14, 2019
31f18e1
build:test for demo
lutherdexter Apr 15, 2019
e4ca9a2
build test userState isFetched true
lutherdexter Apr 15, 2019
f05be50
multiDropdowns-placeholder-update
Apr 15, 2019
cdfe4ae
conflict-res
Apr 15, 2019
759f7cf
issupportAdded
Apr 15, 2019
ea11701
conflict-resolved
lutherdexter Apr 16, 2019
d110c9f
initialstate
lutherdexter Apr 16, 2019
cd1c7fc
updated support fields and location on newtickets
lutherdexter Apr 16, 2019
a65883c
updated build
lutherdexter Apr 16, 2019
428f3d4
optimized-build
Apr 17, 2019
1c2c1b2
merge-conflict-buildoptimize
Apr 17, 2019
4ecaabc
renamed form
lutherdexter Apr 17, 2019
dca6a85
Merge pull request #2 from lutherdexter/ticket-forms
ahamedfazil Apr 17, 2019
687d8db
site-state-added
ahamedfazil Apr 17, 2019
6312ed3
edit-initialsetup
ahamedfazil Apr 17, 2019
a83d623
getTicketbyId for edit Ticket
Apr 18, 2019
e9b2ff8
map ticket assigner to getticketbyId
lutherdexter Apr 18, 2019
66d25c7
grouping-partiallydone
Apr 18, 2019
55b6e30
added user details grouplist
lutherdexter Apr 19, 2019
a7325eb
TicketInfo component
lutherdexter Apr 19, 2019
d8c0ced
added TicketInfo GroupList
lutherdexter Apr 19, 2019
733e1cd
created & added non-support grouplists to ticket.tsx
lutherdexter Apr 20, 2019
15c77e3
modified ticket form layout
lutherdexter Apr 20, 2019
fb60973
edit-api-done
Apr 20, 2019
3662011
merge-conflict-resolved-CustomGrouping
Apr 20, 2019
1783a1c
collapse-added
Apr 20, 2019
ead781a
fixed-ticket-edit
Apr 21, 2019
1785027
pull-ticket-form
Apr 21, 2019
f00660d
router-partiallydone
Apr 21, 2019
9a8b491
updated-sass
ahamedfazil Apr 21, 2019
5773c47
updated-Routerhistory
Apr 21, 2019
d6da1f2
router-updatedEditandView
Apr 22, 2019
58c4cba
added-richtext-Urgentprioity
Apr 22, 2019
89ccb80
ticketComments-Done
Apr 22, 2019
d8b9ca9
Merge pull request #6 from lutherdexter/group-grid-router
ahamedfazil Apr 23, 2019
03855ea
updated-router
Apr 23, 2019
f5e10c9
update
Apr 23, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
767 changes: 375 additions & 392 deletions npm-shrinkwrap.json

Large diffs are not rendered by default.

12 changes: 10 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,19 @@
"@pnp/polyfill-ie11": "^1.0.1",
"@pnp/sp": "^1.3.0",
"@progress/kendo-data-query": "^1.5.1",
"@progress/kendo-react-dateinputs": "^2.7.1",
"@progress/kendo-react-inputs": "^2.7.1",
"@progress/kendo-dropdowns-react-wrapper": "^2017.3.1026",
"@progress/kendo-editor-react-wrapper": "^2018.3.1017",
"@progress/kendo-react-dropdowns": "^2.8.0",
"@progress/kendo-react-excel-export": "^2.7.1",
"@progress/kendo-react-grid": "^2.7.1",
"@progress/kendo-react-intl": "^2.8.0",
"@progress/kendo-theme-default": "^3.5.1",
"@progress/kendo-ui": "^2019.1.412",
"@progress/kendo-upload-react-wrapper": "^2018.3.1017",
"class-transformer": "^0.2.0",
"history": "^4.8.0",
"immutability-helper": "^2.6.6",
"object-assign": "^4.1.1",
"office-ui-fabric-core": "^9.0.0",
Expand All @@ -28,9 +33,10 @@
"react-collapsible": "^2.6.0",
"react-dom": "^16.8.3",
"react-redux": "^5.0.7",
"react-router": "^5.0.0",
"react-router-dom": "^4.3.1",
"react-scripts": "2.1.5",
"redux": "^3.7.2",
"react-router-redux": "^5.0.0-alpha.9",
"redux-logger": "^3.0.6",
"redux-promise-middleware": "^5.0.0",
"redux-thunk": "^2.3.0",
Expand All @@ -57,6 +63,8 @@
"@types/react": "^16.8.3",
"@types/react-dom": "^16.8.1",
"@types/react-redux": "^5.0.21",
"@types/react-router-dom": "^4.2.6",
"@types/react-router-redux": "^5.0.12",
"@types/redux-logger": "^3.0.5",
"@types/redux-promise-middleware": "0.0.11",
"@types/throttle-debounce": "^1.1.0",
Expand All @@ -69,7 +77,7 @@
"gulp-spsave": "^3.1.1",
"html-webpack-plugin": "^3.0.6",
"mini-css-extract-plugin": "^0.5.0",
"node-sass": "^4.7.2",
"node-sass": "^4.11.0",
"node-sp-auth": "^2.5.2",
"pre-commit": "^1.2.2",
"react-hot-loader": "^4.1.2",
Expand Down
1 change: 1 addition & 0 deletions src/actions/ActionTypeKey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ enum ActionTypeKeys {
GET_CURRENT_USER_SUCCESS = "GET_CURRENT_USER_SUCCESS",
GET_CURRENT_USER_ERROR = "GET_CURRENT_USER_ERROR",

UPDATE_SITE_INFO = "UPDATE_SITE_INFO",
GET_SITE_INPROGRESS = "GET_SITE_INPROGRESS",
GET_SITE_SUCCESS = "GET_SITE_SUCCESS",
GET_SITE_ERROR = "GET_SITE_ERROR",
Expand Down
4 changes: 3 additions & 1 deletion src/actions/ActionTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ import {
IGetTicketDictionaryActionSuccess,
IGetSiteActionInProgress,
IGetSiteActionSuccess,
IGetSiteActionError
IGetSiteActionError,
IUpdateSiteInfo
} from "./IActions";

type ActionTypes =
| IGetUserActionInProgress
| IGetUserActionSuccess
| IGetUserActionError

| IUpdateSiteInfo
| IGetSiteActionInProgress
| IGetSiteActionSuccess
| IGetSiteActionError
Expand Down
17 changes: 15 additions & 2 deletions src/actions/Actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import keys from "./ActionTypeKey";
import * as IActions from "./IActions";
import { ICurrentUserState } from "../models/IUserState";
import { ITicketDictionary } from "../models/ITicketState";
import { ISite } from "../models/ISiteState";
import { ISiteInfo } from "../models/ISiteState";
//#region User Actions
export function getCurrentUserInProgress(): IActions.IGetUserActionInProgress {
return {
Expand Down Expand Up @@ -34,14 +34,27 @@ export function getCurrentUserError(
//#endregion

//#region Site Actions
export function updateSiteInfo(
value: any,
key: string
): IActions.IUpdateSiteInfo {
return {
type: keys.UPDATE_SITE_INFO,
payload: {
value,
key
}
};
}

export function getSiteInProgress(): IActions.IGetSiteActionInProgress {
return {
type: keys.GET_SITE_INPROGRESS
};
}

export function getSiteSuccess(
siteInfo: ISite
siteInfo: ISiteInfo
): IActions.IGetSiteActionSuccess {
return {
type: keys.GET_SITE_SUCCESS,
Expand Down
13 changes: 9 additions & 4 deletions src/actions/IActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Action } from "redux";
import keys from "./ActionTypeKey";
import { ICurrentUserState } from "../models/IUserState";
import { ITicketDictionary } from "../models/ITicketState";
import { ISite } from "../models/ISiteState";
import { ISiteInfo } from "../models/ISiteState";

//#region UserActions
export interface IGetUserActionInProgress extends Action {
Expand All @@ -25,16 +25,21 @@ export interface IGetUserActionError extends Action {
//#endregion

//#region SiteAction

//#region UserActions
export interface IUpdateSiteInfo extends Action {
readonly type: keys.UPDATE_SITE_INFO;
payload: {
value: any;
key: string;
};
}
export interface IGetSiteActionInProgress extends Action {
readonly type: keys.GET_SITE_INPROGRESS;
}

export interface IGetSiteActionSuccess extends Action {
readonly type: keys.GET_SITE_SUCCESS;
payload: {
siteInfo: ISite;
siteInfo: ISiteInfo;
};
}

Expand Down
47 changes: 25 additions & 22 deletions src/components/App.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import * as React from "react";
import pnp from "@pnp/pnpjs";
import { Fabric } from "office-ui-fabric-react/lib/Fabric";
import { HashRouter as Router } from "react-router-dom";
import { initializeIcons } from "@uifabric/icons";
import "@progress/kendo-ui";
import "@progress/kendo-theme-default/dist/all.css";
import { pnpConfig } from "../utils/pnp.config";

import { getCurrentUser } from "../services/UserAPI";
import { IAppProps } from "../models/IAppProps";
import { ICurrentUserState } from "../models/IUserState";
import Ticket from "../containers/ticket/Ticket";
import { ErrorMessage } from "./support/ErrorMessage";
import { Spinner, SpinnerSize } from "office-ui-fabric-react";
import AppNavigation from "./AppNavigation";

export class App extends React.Component<IAppProps, {}> {
constructor(props: IAppProps) {
Expand All @@ -25,29 +25,32 @@ export class App extends React.Component<IAppProps, {}> {
}

public render(): JSX.Element {
const userState: ICurrentUserState = this.props.store.user.currentUser;
return (
<Fabric>
{!this.props.store.user.currentUser.isFetched ? (
this.props.store.user.error ? (
<ErrorMessage
error={`Error while getting user - ${
this.props.store.user.error
}`}
/>
) : (
<Spinner
size={SpinnerSize.large}
style={{ margin: "200px" }}
label={"Getting current user info..."}
/>
)
) : (
<Router hashType="noslash">
<Fabric>
<div>
<Ticket />
{!this.props.store.user.currentUser.isFetched ? (
this.props.store.user.error ? (
<ErrorMessage
error={`Error while getting user - ${
this.props.store.user.error
}`}
/>
) : (
<Spinner
size={SpinnerSize.large}
style={{ margin: "200px" }}
label={"Getting current user info..."}
/>
)
) : (
<div className="ms-Grid">
<AppNavigation />
</div>
)}
</div>
)}
</Fabric>
</Fabric>
</Router>
);
}
}
35 changes: 35 additions & 0 deletions src/components/AppNavigation.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import * as React from "react";
import { HashRouter as Router, Route } from "react-router-dom";
import Ticket from "../containers/ticket/Ticket";
import Dashboard from "../containers/Dashboard";

class AppNavigation extends React.Component<{}> {
constructor(props: {}) {
super(props);
}

public render(): JSX.Element {
return (
<div className="ms-Grid-row">
<Router hashType="noslash">
<div>
<Route path="/" exact={true} component={Dashboard} />
<Route path="/newticket" exact={true} component={Ticket} />
<Route
path="/editticket/:id"
exact={true}
component={Ticket}
/>
<Route
path="/viewticket/:id"
exact={true}
component={Ticket}
/>
</div>
</Router>
</div>
);
}
}

export default AppNavigation;
42 changes: 42 additions & 0 deletions src/components/Dashboard.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import * as React from "react";
import { IDashboardProps } from "../models/IDashboardProps";
import TicketGrid from "../containers/ticket/TicketGrid";
import { autobind } from "@uifabric/utilities";
import { CompoundButton } from "office-ui-fabric-react";
import { navigateToNewForm } from "../services/SiteAPI";

export class Dashboard extends React.Component<IDashboardProps, {}> {
constructor(props: IDashboardProps) {
super(props);
}

public render(): JSX.Element {
return (
<div>
<div className="ms-Grid-col ms-sm12 ms-md12 ms-lg12">
<CompoundButton
iconProps={{ iconName: "Add" }}
primary={true}
secondaryText="You can create a new ticket here"
onClick={e => {
this._onNavigationUpdate(e);
}}
>
Create New Ticket
</CompoundButton>
</div>
<br />
<div className="ms-Grid-col ms-sm12 ms-md12 ms-lg12">For Dev:</div>
<div className="ms-Grid-col ms-sm12 ms-md12 ms-lg12">
<TicketGrid />
</div>
</div>
);
}

@autobind
private _onNavigationUpdate(event: any) {
event.preventDefault();
navigateToNewForm(this.props);
}
}
4 changes: 2 additions & 2 deletions src/components/support/KendoCombo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { autobind } from "@uifabric/utilities";
import "./KendoCombo.scss";

interface IKendoComboProps {
getLabelValue: (value: string) => void;
getValue: (value: string) => void;
fullValues?: any[];
isRemote?: boolean;
textValue: string;
Expand Down Expand Up @@ -77,6 +77,6 @@ export class KendoCombo extends React.Component<
private _onItemsChange(event: any) {
const value: string = event.sender._prev;
this.setState({ keyValue: value });
this.props.getLabelValue(value);
this.props.getValue(value);
}
}
4 changes: 4 additions & 0 deletions src/components/support/RichTextEditor.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

.rich-text-readonly{
pointer-events: none;
}
60 changes: 60 additions & 0 deletions src/components/support/RichTextEditor.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import * as React from "react";
import { Editor } from "@progress/kendo-editor-react-wrapper";
// import { Menu, MenuItem, SubMenu, ContextMenu, PanelBar, PanelItem, SubItems, TabStrip, Tabs, Tab, Content } from '@progress/kendo-layout-react-wrapper';
import "./RichTextEditor.scss";
import "@progress/kendo-ui";

interface IRichTextEditor {
value: any;
getEvent?: (event: any) => void;
disabled?: boolean;
placeholder: string;
}

export class RichTextEditor extends React.Component<IRichTextEditor, {}> {
constructor(props: IRichTextEditor) {
super(props);
}

render() {
return (
<div>
<Editor
value={this.props.value}
change={this._onItemsChange}
resizable={true}
placeholder={this.props.placeholder}
tools={[
{ name: "bold" },
{ name: "italic" },
{ name: "underline" },
{ name: "strikethrough" },
{ name: "justifyLeft" },
{ name: "justifyCenter" },
{ name: "justifyRight" },
{ name: "justifyFull" },
{ name: "insertUnorderedList" },
{ name: "insertOrderedList" },
{ name: "indent" },
{ name: "outdent" },
{ name: "createLink" },
{ name: "unlink" },
{ name: "createTable" },
{ name: "addRowAbove" },
{ name: "addRowBelow" },
{ name: "addColumnLeft" },
{ name: "addColumnRight" },
{ name: "deleteRow" },
{ name: "deleteColumn" },
{ name: "foreColor" },
{ name: "backColor" }
]}
/>
</div>
);
}

private _onItemsChange = (event: any): void => {
this.props.getEvent(event);
};
}
Loading