` : '',
+ rightIcon: rightIcon ? `
` : ''
+ })}
+ />
+ );
+};
+
+export default ButtonElement;
diff --git a/src/components/dashboard/elements/CheckBoxElement.tsx b/src/components/dashboard/elements/CheckBoxElement.tsx
new file mode 100644
index 0000000000..16b8fb28b7
--- /dev/null
+++ b/src/components/dashboard/elements/CheckBoxElement.tsx
@@ -0,0 +1,57 @@
+import escapeHTML from 'escape-html';
+import React, { FunctionComponent } from 'react';
+import globalize from '../../../scripts/globalize';
+
+const createCheckBoxElement = ({ labelClassName, className, id, dataFilter, dataItemType, dataId, checkedAttribute, renderContent }: { labelClassName?: string, type?: string, className?: string, id?: string, dataFilter?: string, dataItemType?: string, dataId?: string, checkedAttribute?: string, renderContent?: string }) => ({
+ __html: `
`
+});
+
+type IProps = {
+ labelClassName?: string;
+ className?: string;
+ elementId?: string;
+ dataFilter?: string;
+ itemType?: string;
+ itemId?: string;
+ itemAppName?: string;
+ itemCheckedAttribute?: string;
+ itemName?: string
+ title?: string
+}
+
+const CheckBoxElement: FunctionComponent
= ({ labelClassName, className, elementId, dataFilter, itemType, itemId, itemAppName, itemCheckedAttribute, itemName, title }: IProps) => {
+ const appName = itemAppName ? `- ${itemAppName}` : '';
+ const renderContent = itemName ?
+ `${escapeHTML(itemName || '')} ${appName}` :
+ `${globalize.translate(title)}`;
+
+ return (
+
+ );
+};
+
+export default CheckBoxElement;
diff --git a/src/components/dashboard/elements/IconButtonElement.tsx b/src/components/dashboard/elements/IconButtonElement.tsx
new file mode 100644
index 0000000000..919e4d5cef
--- /dev/null
+++ b/src/components/dashboard/elements/IconButtonElement.tsx
@@ -0,0 +1,49 @@
+import React, { FunctionComponent } from 'react';
+import globalize from '../../../scripts/globalize';
+
+type IProps = {
+ is?: string;
+ type?: string;
+ id?: string;
+ title?: string;
+ className?: string;
+ icon?: string,
+ dataIndex?: string | number;
+ dataTag?: string | number;
+ dataProfileid?: string | number;
+}
+
+const createIconButtonElement = ({ is, type, id, className, title, icon, dataIndex, dataTag, dataProfileid }: IProps) => ({
+ __html: ``
+});
+
+const IconButtonElement: FunctionComponent = ({ is, type, id, className, title, icon, dataIndex, dataTag, dataProfileid }: IProps) => {
+ return (
+
+ );
+};
+
+export default IconButtonElement;
diff --git a/src/components/dashboard/users/InputElement.tsx b/src/components/dashboard/elements/InputElement.tsx
similarity index 100%
rename from src/components/dashboard/users/InputElement.tsx
rename to src/components/dashboard/elements/InputElement.tsx
diff --git a/src/components/dashboard/elements/SectionTitleContainer.tsx b/src/components/dashboard/elements/SectionTitleContainer.tsx
new file mode 100644
index 0000000000..3749713ada
--- /dev/null
+++ b/src/components/dashboard/elements/SectionTitleContainer.tsx
@@ -0,0 +1,42 @@
+import React, { FunctionComponent } from 'react';
+import IconButtonElement from './IconButtonElement';
+import SectionTitleLinkElement from './SectionTitleLinkElement';
+
+type IProps = {
+ SectionClassName?: string;
+ title?: string;
+ isBtnVisible?: boolean;
+ btnId?: string;
+ btnClassName?: string;
+ btnTitle?: string;
+ btnIcon?: string;
+ isLinkVisible?: boolean;
+ url?: string;
+}
+const SectionTitleContainer: FunctionComponent = ({SectionClassName, title, isBtnVisible = false, btnId, btnClassName, btnTitle, btnIcon, isLinkVisible = true, url}: IProps) => {
+ return (
+
+
+ {title}
+
+
+ {isBtnVisible && }
+
+ {isLinkVisible && }
+
+
+ );
+};
+
+export default SectionTitleContainer;
diff --git a/src/components/dashboard/users/SectionTitleLinkElement.tsx b/src/components/dashboard/elements/SectionTitleLinkElement.tsx
similarity index 100%
rename from src/components/dashboard/users/SectionTitleLinkElement.tsx
rename to src/components/dashboard/elements/SectionTitleLinkElement.tsx
diff --git a/src/components/dashboard/elements/SelectElement.tsx b/src/components/dashboard/elements/SelectElement.tsx
new file mode 100644
index 0000000000..bcabc35834
--- /dev/null
+++ b/src/components/dashboard/elements/SelectElement.tsx
@@ -0,0 +1,38 @@
+import React, { FunctionComponent } from 'react';
+import globalize from '../../../scripts/globalize';
+
+const createSelectElement = ({ name, id, required, label, option }: { name?: string, id?: string, required?: string, label?: string, option?: React.ReactNode }) => ({
+ __html: ``
+});
+
+type IProps = {
+ name?: string;
+ id?: string;
+ required?: string;
+ label?: string;
+ children?: React.ReactNode
+}
+
+const SelectElement: FunctionComponent = ({ name, id, required, label, children }: IProps) => {
+ return (
+
+ );
+};
+
+export default SelectElement;
diff --git a/src/components/dashboard/users/AccessContainer.tsx b/src/components/dashboard/users/AccessContainer.tsx
index 5c0d6341b7..13680070de 100644
--- a/src/components/dashboard/users/AccessContainer.tsx
+++ b/src/components/dashboard/users/AccessContainer.tsx
@@ -1,6 +1,6 @@
import React, { FunctionComponent } from 'react';
import globalize from '../../../scripts/globalize';
-import CheckBoxElement from './CheckBoxElement';
+import CheckBoxElement from '../elements/CheckBoxElement';
type IProps = {
containerClassName?: string;
@@ -18,7 +18,11 @@ const AccessContainer: FunctionComponent = ({containerClassName, headerT
return (
{globalize.translate(headerTitle)}
-
+
diff --git a/src/components/dashboard/users/AccessScheduleList.tsx b/src/components/dashboard/users/AccessScheduleList.tsx
index 1e788d796f..6549f9e199 100644
--- a/src/components/dashboard/users/AccessScheduleList.tsx
+++ b/src/components/dashboard/users/AccessScheduleList.tsx
@@ -1,17 +1,7 @@
import React, { FunctionComponent } from 'react';
import datetime from '../../../scripts/datetime';
import globalize from '../../../scripts/globalize';
-
-const createButtonElement = (index: number) => ({
- __html: ``
-});
+import IconButtonElement from '../elements/IconButtonElement';
type IProps = {
index: number;
@@ -48,8 +38,13 @@ const AccessScheduleList: FunctionComponent = ({index, DayOfWeek, StartH
{getDisplayTime(StartHour) + ' - ' + getDisplayTime(EndHour)}
-
);
diff --git a/src/components/dashboard/users/BlockedTagList.tsx b/src/components/dashboard/users/BlockedTagList.tsx
index 8f686381f4..4c46d30a57 100644
--- a/src/components/dashboard/users/BlockedTagList.tsx
+++ b/src/components/dashboard/users/BlockedTagList.tsx
@@ -1,15 +1,5 @@
import React, { FunctionComponent } from 'react';
-
-const createButtonElement = (tag?: string) => ({
- __html: ``
-});
+import IconButtonElement from '../elements/IconButtonElement';
type IProps = {
tag?: string;
@@ -24,11 +14,15 @@ const BlockedTagList: FunctionComponent = ({tag}: IProps) => {
{tag}
-