mandarina-server 1.6.5 → 1.7.1
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/build/Action/CustomAction.d.ts +5 -3
- package/build/Action/CustomAction.js +14 -2
- package/build/Action/CustomAction.js.map +1 -1
- package/build/Table/Table.d.ts +20 -19
- package/build/Table/Table.js +28 -28
- package/build/Table/Table.js.map +1 -1
- package/build/cli/gen-files/genFilesUtils.d.ts +5 -7
- package/build/cli/gen-files/prisma2.js.map +1 -0
- package/build/cli/index.js +0 -0
- package/package.json +1 -1
- package/src/Action/CustomAction.ts +13 -5
- package/src/Table/Table.ts +36 -27
- package/src/cli/utils.js +5 -2
- package/src/cli/utils.js.map +1 -1
- package/tmp/client/components/Common/Cells/CellDateTime.js +22 -0
- package/tmp/client/components/Common/Cells/CellDateTime.js.map +1 -0
- package/tmp/client/components/Common/Cells/CellHtml.js +13 -0
- package/tmp/client/components/Common/Cells/CellHtml.js.map +1 -0
- package/tmp/client/components/Common/Cells/CellLinkTemplate.js +19 -0
- package/tmp/client/components/Common/Cells/CellLinkTemplate.js.map +1 -0
- package/tmp/client/components/Common/ConfigurationContext.js +25 -0
- package/tmp/client/components/Common/ConfigurationContext.js.map +1 -0
- package/tmp/client/components/Common/My/MySchema.js +27 -0
- package/tmp/client/components/Common/My/MySchema.js.map +1 -0
- package/tmp/client/components/Common/uniforms/AddressField/AddressField.js +139 -0
- package/tmp/client/components/Common/uniforms/AddressField/AddressField.js.map +1 -0
- package/tmp/client/components/Common/uniforms/AddressField/utils.js +99 -0
- package/tmp/client/components/Common/uniforms/AddressField/utils.js.map +1 -0
- package/tmp/client/components/Common/uniforms/DateField.js +31 -0
- package/tmp/client/components/Common/uniforms/DateField.js.map +1 -0
- package/tmp/client/components/Common/uniforms/DateTimeField.js +44 -0
- package/tmp/client/components/Common/uniforms/DateTimeField.js.map +1 -0
- package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js +115 -0
- package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js.map +1 -0
- package/tmp/client/components/Common/uniforms/RichTextField/addMention.js +17 -0
- package/tmp/client/components/Common/uniforms/RichTextField/addMention.js.map +1 -0
- package/tmp/client/components/Common/uniforms/SocialField.js +37 -0
- package/tmp/client/components/Common/uniforms/SocialField.js.map +1 -0
- package/tmp/client/components/Common/uniforms/TableIdField.js +27 -0
- package/tmp/client/components/Common/uniforms/TableIdField.js.map +1 -0
- package/tmp/client/components/Location/Marker.js +24 -0
- package/tmp/client/components/Location/Marker.js.map +1 -0
- package/tmp/lib/actions/AddReferralSchema.js +27 -0
- package/tmp/lib/actions/AddReferralSchema.js.map +1 -0
- package/tmp/lib/actions/AutoMatchSchema.js +12 -0
- package/tmp/lib/actions/AutoMatchSchema.js.map +1 -0
- package/tmp/lib/actions/CampaignRefresh.js +12 -0
- package/tmp/lib/actions/CampaignRefresh.js.map +1 -0
- package/tmp/lib/actions/ChangeFamilyVisit.js +45 -0
- package/tmp/lib/actions/ChangeFamilyVisit.js.map +1 -0
- package/tmp/lib/actions/ContactFormSchema.js +38 -0
- package/tmp/lib/actions/ContactFormSchema.js.map +1 -0
- package/tmp/lib/actions/DeleteSchema.js +12 -0
- package/tmp/lib/actions/DeleteSchema.js.map +1 -0
- package/tmp/lib/actions/GroupFamilyStatus.js +43 -0
- package/tmp/lib/actions/GroupFamilyStatus.js.map +1 -0
- package/tmp/lib/actions/NotificationPopUpSchema.js +30 -0
- package/tmp/lib/actions/NotificationPopUpSchema.js.map +1 -0
- package/tmp/lib/actions/OneId.js +12 -0
- package/tmp/lib/actions/OneId.js.map +1 -0
- package/tmp/lib/actions/PaySchema.js +32 -0
- package/tmp/lib/actions/PaySchema.js.map +1 -0
- package/tmp/lib/actions/PaymentNotificationSchema.js +33 -0
- package/tmp/lib/actions/PaymentNotificationSchema.js.map +1 -0
- package/tmp/lib/actions/PlacementGuestFamilySchema.js +10 -0
- package/tmp/lib/actions/PlacementGuestFamilySchema.js.map +1 -0
- package/tmp/lib/actions/PlacementGuestMoveSchema.js +14 -0
- package/tmp/lib/actions/PlacementGuestMoveSchema.js.map +1 -0
- package/tmp/lib/actions/PlacementGuestStatusSchema.js +8 -0
- package/tmp/lib/actions/PlacementGuestStatusSchema.js.map +1 -0
- package/tmp/lib/actions/PlacementStatusSchema.js +33 -0
- package/tmp/lib/actions/PlacementStatusSchema.js.map +1 -0
- package/tmp/lib/actions/ReconfirmSchema.js +85 -0
- package/tmp/lib/actions/ReconfirmSchema.js.map +1 -0
- package/tmp/lib/actions/ReferralAddress.js +43 -0
- package/tmp/lib/actions/ReferralAddress.js.map +1 -0
- package/tmp/lib/actions/SendCommunicationSchema.js +26 -0
- package/tmp/lib/actions/SendCommunicationSchema.js.map +1 -0
- package/tmp/lib/actions/SendPreview.js +9 -0
- package/tmp/lib/actions/SendPreview.js.map +1 -0
- package/tmp/lib/actions/TranslationSchema.js +9 -0
- package/tmp/lib/actions/TranslationSchema.js.map +1 -0
- package/tmp/lib/actions/UploaderSchema.js +11 -0
- package/tmp/lib/actions/UploaderSchema.js.map +1 -0
- package/tmp/lib/actions/index.js +24 -0
- package/tmp/lib/actions/index.js.map +1 -0
- package/tmp/lib/constants.js +452 -0
- package/tmp/lib/constants.js.map +1 -0
- package/tmp/lib/forms/spans.js +12 -0
- package/tmp/lib/forms/spans.js.map +1 -0
- package/tmp/lib/schemas/Configuration/Locale.js +89 -0
- package/tmp/lib/schemas/Configuration/Locale.js.map +1 -0
- package/tmp/lib/schemas/Template.js +76 -0
- package/tmp/lib/schemas/Template.js.map +1 -0
- package/tmp/lib/schemas/utils.js +39 -0
- package/tmp/lib/schemas/utils.js.map +1 -0
- package/tmp/lib/utils.js +127 -0
- package/tmp/lib/utils.js.map +1 -0
- package/tmp/server/generated/prisma.js +52293 -0
- package/tmp/server/generated/prisma.js.map +1 -0
- package/src/Action/CustomAction.js +0 -108
- package/src/Action/CustomAction.js.map +0 -1
- package/src/Errors/TableInstanceNotFound.js +0 -28
- package/src/Errors/TableInstanceNotFound.js.map +0 -1
- package/src/Errors/UniqueActionError.js +0 -31
- package/src/Errors/UniqueActionError.js.map +0 -1
- package/src/Mandarina.js +0 -58
- package/src/Mandarina.js.map +0 -1
- package/src/Table/Table.js +0 -424
- package/src/Table/Table.js.map +0 -1
- package/src/Table/utils.js +0 -0
- package/src/index.js +0 -16
- package/src/index.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const utils_1 = require("mandarina/build/Schema/utils");
|
|
8
|
+
const CellHtml = ({ data, rowIndex, field }) => {
|
|
9
|
+
const res = utils_1.get(data[rowIndex], field.split('.'));
|
|
10
|
+
return react_1.default.createElement(react_1.default.Fragment, null, res.map(__html => react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html } })));
|
|
11
|
+
};
|
|
12
|
+
exports.default = CellHtml;
|
|
13
|
+
//# sourceMappingURL=CellHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CellHtml.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/Cells/CellHtml.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,wDAAiD;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAqB,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,WAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,OAAO,8DAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,uCAAK,uBAAuB,EAAE,EAAC,MAAM,EAAC,GAAG,CAAC,CAAI,CAAA;AAC9E,CAAC,CAAA;AAED,kBAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
8
|
+
const CellLinkTemplate = ({ location, rowIndex, data, }) => {
|
|
9
|
+
const type = data[rowIndex].type;
|
|
10
|
+
const id = data[rowIndex].id;
|
|
11
|
+
const description = data[rowIndex].description;
|
|
12
|
+
if (!id)
|
|
13
|
+
return null;
|
|
14
|
+
const event = location.pathname.indexOf('event') > 0 ? 'event/' : '';
|
|
15
|
+
const url = `/admin/${type.toLowerCase()}/templates/${event}update/${id}`;
|
|
16
|
+
return react_1.default.createElement(react_router_dom_1.Link, { to: url, "data-id": rowIndex }, description);
|
|
17
|
+
};
|
|
18
|
+
exports.default = react_router_dom_1.withRouter(CellLinkTemplate);
|
|
19
|
+
//# sourceMappingURL=CellLinkTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CellLinkTemplate.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/Cells/CellLinkTemplate.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,uDAAuE;AAGtE,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAA4C,EAAE,EAAE;IAChG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAA;IAC9C,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,UAAU,EAAE,EAAE,CAAA;IACzE,OAAO,8BAAC,uBAAI,IAAC,EAAE,EAAE,GAAG,aAAW,QAAQ,IAAG,WAAW,CAAQ,CAAA;AAChE,CAAC,CAAA;AAEF,kBAAe,6BAAU,CAAC,gBAAgB,CAAC,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
exports.ConfigurationContext = react_1.default.createContext({
|
|
8
|
+
locale: {
|
|
9
|
+
dateFormat: 'DD/MM/YYYY', currencySymbol: '$', country: 'AU', timeZone: "UTC+10:00"
|
|
10
|
+
},
|
|
11
|
+
settings: {
|
|
12
|
+
sandbox: true,
|
|
13
|
+
childCard: true,
|
|
14
|
+
childCardFamily: true,
|
|
15
|
+
reviews: true,
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
exports.ConfigurationProvider = exports.ConfigurationContext.Provider;
|
|
19
|
+
exports.ConfigurationConsumer = exports.ConfigurationContext.Consumer;
|
|
20
|
+
function withConfiguration(WrappedComponent) {
|
|
21
|
+
return (props) => (react_1.default.createElement(exports.ConfigurationConsumer, null, (configuration) => react_1.default.createElement(WrappedComponent, Object.assign({ configuration: configuration }, props))));
|
|
22
|
+
}
|
|
23
|
+
exports.withConfiguration = withConfiguration;
|
|
24
|
+
exports.default = exports.ConfigurationContext;
|
|
25
|
+
//# sourceMappingURL=ConfigurationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurationContext.js","sourceRoot":"","sources":["../../../../../../app/client/components/Common/ConfigurationContext.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0C;AAG7B,QAAA,oBAAoB,GAAG,eAAK,CAAC,aAAa,CAAC;IACpD,MAAM,EAAE;QACJ,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW;KACtF;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAI;KAChB;CACJ,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,4BAAoB,CAAC,QAAQ,CAAA;AACrD,QAAA,qBAAqB,GAAG,4BAAoB,CAAC,QAAQ,CAAA;AASlE,SAAgB,iBAAiB,CAAI,gBAAkD;IACnF,OAAO,CAAC,KAAQ,EAAE,EAAE,CAAC,CACjB,8BAAC,6BAAqB,QACjB,CAAC,aAAa,EAAE,EAAE,CAAC,8BAAC,gBAAgB,kBAAC,aAAa,EAAE,aAAa,IAAM,KAAU,EAAI,CAClE,CAC3B,CAAA;AACL,CAAC;AAND,8CAMC;AAED,kBAAe,4BAAoB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mandarina_1 = require("mandarina");
|
|
4
|
+
class MySchema extends mandarina_1.Schema {
|
|
5
|
+
constructor(shape, options) {
|
|
6
|
+
if (shape.id) {
|
|
7
|
+
shape.id.label = 'Action';
|
|
8
|
+
shape.id.list = shape.id.list || {};
|
|
9
|
+
if (shape.id.list.noFilter !== false)
|
|
10
|
+
shape.id.list.noFilter = true;
|
|
11
|
+
if (shape.id.list.noSort !== false)
|
|
12
|
+
shape.id.list.noSort = true;
|
|
13
|
+
}
|
|
14
|
+
const permissions = Object.assign(Object.assign({}, permissionBuilder(options.name)), options.permissions);
|
|
15
|
+
super(shape, Object.assign(Object.assign({}, options), { permissions }));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = MySchema;
|
|
19
|
+
const permissionBuilder = (name) => {
|
|
20
|
+
return {
|
|
21
|
+
read: [`role_read${name}`, `role_update${name}`, `role_create${name}`, 'role_admin'],
|
|
22
|
+
update: [`role_update${name}`, `role_create${name}`, 'role_admin'],
|
|
23
|
+
create: [`role_create${name}`, 'role_admin'],
|
|
24
|
+
delete: [`role_delete${name}`, 'role_admin'],
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=MySchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MySchema.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/My/MySchema.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAGjC,MAAqB,QAAS,SAAQ,kBAAM;IAExC,YAAY,KAAsB,EAAE,OAAsB;QACtD,IAAI,KAAK,CAAC,EAAE,EAAE;YACV,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAA;YACzB,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAA;YACnC,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;gBAAE,KAAK,CAAC,EAAE,CAAC,IAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpE,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK;gBAAE,KAAK,CAAC,EAAE,CAAC,IAAK,CAAC,MAAM,GAAG,IAAI,CAAA;SACnE;QACD,MAAM,WAAW,mCACV,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,WAAW,CACzB,CAAA;QACD,KAAK,CAAC,KAAK,kCAAM,OAAO,KAAE,WAAW,IAAE,CAAC;IAC5C,CAAC;CACJ;AAfD,2BAeC;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,OAAO;QACH,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QACpF,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QAClE,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QAC5C,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;KAC/C,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
+
if (mod && mod.__esModule) return mod;
|
|
4
|
+
var result = {};
|
|
5
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
+
result["default"] = mod;
|
|
7
|
+
return result;
|
|
8
|
+
};
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const react_1 = __importStar(require("react"));
|
|
14
|
+
const antd_1 = require("antd");
|
|
15
|
+
const utils_1 = require("./utils");
|
|
16
|
+
const connectField_1 = __importDefault(require("uniforms/connectField"));
|
|
17
|
+
const wrapField_1 = __importDefault(require("uniforms-antd/wrapField"));
|
|
18
|
+
const utils_2 = require("../../../../../lib/utils");
|
|
19
|
+
const Marker_1 = require("../../../Location/Marker");
|
|
20
|
+
const google_map_react_1 = __importDefault(require("google-map-react"));
|
|
21
|
+
const ConfigurationContext_1 = require("../../ConfigurationContext");
|
|
22
|
+
const Option = antd_1.AutoComplete.Option;
|
|
23
|
+
// components=country:fr
|
|
24
|
+
class AddressField extends react_1.Component {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.state = {
|
|
28
|
+
input: this.props.value && this.props.value.fullText || '',
|
|
29
|
+
loading: false,
|
|
30
|
+
suggestions: this.props.value && this.props.value.placeId ? [{
|
|
31
|
+
place_id: this.props.value.placeId,
|
|
32
|
+
description: this.props.value.fullText
|
|
33
|
+
}] : []
|
|
34
|
+
};
|
|
35
|
+
this.google = utils_2.isBrowser ? google : class Nothing {
|
|
36
|
+
};
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
this.autocompleteService = utils_2.isBrowser ? new this.google.maps.places.AutocompleteService() : undefined;
|
|
39
|
+
this.autocompleteCallback = (suggestions, status) => {
|
|
40
|
+
this.setState({ loading: false });
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
if (status !== this.google.maps.places.PlacesServiceStatus.OK) {
|
|
43
|
+
this.clearSuggestions();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.setState({ suggestions });
|
|
47
|
+
};
|
|
48
|
+
this.clearSuggestions = () => {
|
|
49
|
+
return this.setState({ suggestions: [] });
|
|
50
|
+
};
|
|
51
|
+
this.onSelect = (placeId) => {
|
|
52
|
+
const suggestion = this.state.suggestions.find(({ place_id }) => place_id === placeId);
|
|
53
|
+
if (!suggestion)
|
|
54
|
+
return;
|
|
55
|
+
const { onChange, full } = this.props;
|
|
56
|
+
if (full) {
|
|
57
|
+
utils_1.geocodeByPlaceId(placeId, suggestion.description)
|
|
58
|
+
.then(value => onChange(Object.assign({ fullText: suggestion.description }, value)));
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
onChange({ fullText: suggestion.description, placeId });
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
this.onInput = (input) => {
|
|
65
|
+
//if is a placeId
|
|
66
|
+
if (!input)
|
|
67
|
+
input = '';
|
|
68
|
+
if (this.state.suggestions.findIndex(({ place_id }) => input === place_id) > -1)
|
|
69
|
+
return;
|
|
70
|
+
const loading = !!input.length;
|
|
71
|
+
const searchOptions = Object.assign({ componentRestrictions: { country: this.props.configuration.locale.country.toLowerCase() } }, this.props.searchOptions);
|
|
72
|
+
this.setState({ input, loading });
|
|
73
|
+
if (input.length) {
|
|
74
|
+
this.props.onChange({});
|
|
75
|
+
this.autocompleteService.getPlacePredictions(Object.assign(Object.assign({}, searchOptions), { input }), this.autocompleteCallback);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.props.onChange(null);
|
|
79
|
+
this.clearSuggestions();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
this.options = () => {
|
|
83
|
+
return this.state.loading ?
|
|
84
|
+
[react_1.default.createElement(Option, { disabled: true, key: "loading", value: '' },
|
|
85
|
+
react_1.default.createElement(antd_1.Spin, null))]
|
|
86
|
+
: this.state.suggestions.map(({ place_id, description }) => (react_1.default.createElement(Option, { key: place_id, value: place_id }, description))).concat([
|
|
87
|
+
react_1.default.createElement(Option, { disabled: true, key: "powered_by_google_on_white", style: { textAlign: 'right' } },
|
|
88
|
+
react_1.default.createElement("img", { src: '/images/powered_by_google_on_white.png' })),
|
|
89
|
+
]);
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
render() {
|
|
93
|
+
const placeId = this.props.value && this.props.value.placeId || '';
|
|
94
|
+
const value = this.props.value || {
|
|
95
|
+
unit: '',
|
|
96
|
+
number: '',
|
|
97
|
+
street: '',
|
|
98
|
+
suburb: '',
|
|
99
|
+
city: '',
|
|
100
|
+
state: '',
|
|
101
|
+
zip: '',
|
|
102
|
+
country: '',
|
|
103
|
+
lat: 0, lng: 0, fullText: ''
|
|
104
|
+
};
|
|
105
|
+
const { showMap, showDetail = true } = this.props;
|
|
106
|
+
const { unit, number, street, suburb, city, state, zip, country, lat, lng, fullText } = value;
|
|
107
|
+
return wrapField_1.default(this.props, react_1.default.createElement(react_1.default.Fragment, null,
|
|
108
|
+
react_1.default.createElement(antd_1.AutoComplete, Object.assign({ onChange: this.onInput, allowClear: true, onSelect: this.onSelect }, this.props.props, { defaultValue: placeId }), this.options()),
|
|
109
|
+
showDetail && placeId && react_1.default.createElement(react_1.default.Fragment, null,
|
|
110
|
+
react_1.default.createElement(Part, { title: 'Unit', value: unit }),
|
|
111
|
+
react_1.default.createElement(Part, { title: 'Number', value: number }),
|
|
112
|
+
react_1.default.createElement(Part, { title: 'Street', value: street }),
|
|
113
|
+
react_1.default.createElement(Part, { title: 'Suburb', value: suburb }),
|
|
114
|
+
react_1.default.createElement(Part, { title: 'City', value: city }),
|
|
115
|
+
react_1.default.createElement(Part, { title: 'State', value: state }),
|
|
116
|
+
react_1.default.createElement(Part, { title: 'Zip', value: zip }),
|
|
117
|
+
react_1.default.createElement(Part, { title: 'Country', value: country })),
|
|
118
|
+
showMap && placeId && lat && lng &&
|
|
119
|
+
react_1.default.createElement("div", { style: { height: '400px', width: '100%' } },
|
|
120
|
+
react_1.default.createElement(google_map_react_1.default, { bootstrapURLKeys: { key: 'AIzaSyDREfT4Rypm8BD2TqwK-8tAHvAQ46Nswbg' }, defaultCenter: { lat, lng }, defaultZoom: 17 },
|
|
121
|
+
react_1.default.createElement(Marker_1.FamilyMarker, { lat: lat, lng: lng, content: fullText })))));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.AddressField = AddressField;
|
|
125
|
+
AddressField.defaultProps = {
|
|
126
|
+
full: true
|
|
127
|
+
};
|
|
128
|
+
const Part = ({ title, value }) => react_1.default.createElement("div", { style: { display: 'inline-block', marginRight: '10px' } },
|
|
129
|
+
' ',
|
|
130
|
+
react_1.default.createElement("b", null,
|
|
131
|
+
title,
|
|
132
|
+
":"),
|
|
133
|
+
" ",
|
|
134
|
+
value ? value : react_1.default.createElement("span", { style: { color: 'red' } }, "_____"),
|
|
135
|
+
". ",
|
|
136
|
+
' ',
|
|
137
|
+
" ");
|
|
138
|
+
exports.default = connectField_1.default(ConfigurationContext_1.withConfiguration(AddressField));
|
|
139
|
+
//# sourceMappingURL=AddressField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressField.js","sourceRoot":"","sources":["../../../../../../../../app/client/components/Common/uniforms/AddressField/AddressField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
3
|
+
if (mod && mod.__esModule) return mod;
|
|
4
|
+
var result = {};
|
|
5
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
6
|
+
result["default"] = mod;
|
|
7
|
+
return result;
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const Sentry = __importStar(require("@sentry/browser"));
|
|
11
|
+
exports.buildResult = (place, fullText) => {
|
|
12
|
+
const componentForm = {
|
|
13
|
+
subpremise: 'short_name',
|
|
14
|
+
street_number: 'short_name',
|
|
15
|
+
route: 'long_name',
|
|
16
|
+
locality: 'long_name',
|
|
17
|
+
sublocality: "sublocality",
|
|
18
|
+
sublocality_level_1: "sublocality",
|
|
19
|
+
administrative_area_level_1: 'short_name',
|
|
20
|
+
administrative_area_level_2: 'short_name',
|
|
21
|
+
country: 'long_name',
|
|
22
|
+
postal_code: 'short_name'
|
|
23
|
+
};
|
|
24
|
+
const result = {};
|
|
25
|
+
for (let i = 0; i < place.address_components.length; i++) {
|
|
26
|
+
const addressType = place.address_components[i].types[0];
|
|
27
|
+
if (componentForm[addressType]) {
|
|
28
|
+
result[addressType] = place.address_components[i][componentForm[addressType]] || '';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (fullText && !result['subpremise']) {
|
|
32
|
+
const { unit, number } = getUnitNumber(fullText, result['street_number'], result['route']);
|
|
33
|
+
result['street_number'] = number;
|
|
34
|
+
result['subpremise'] = unit;
|
|
35
|
+
}
|
|
36
|
+
const { lat, lng } = place.geometry.location.toJSON();
|
|
37
|
+
let suburb = result["locality"] || result["sublocality"] || result["sublocality_level_1"];
|
|
38
|
+
let city = result["administrative_area_level_2"];
|
|
39
|
+
if (!city && suburb) {
|
|
40
|
+
city = suburb;
|
|
41
|
+
suburb = undefined;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
unit: result['subpremise'],
|
|
45
|
+
number: result['street_number'],
|
|
46
|
+
street: result['route'],
|
|
47
|
+
city,
|
|
48
|
+
zip: result["postal_code"],
|
|
49
|
+
suburb,
|
|
50
|
+
country: result["country"],
|
|
51
|
+
state: result["administrative_area_level_1"],
|
|
52
|
+
lat,
|
|
53
|
+
lng,
|
|
54
|
+
placeId: place.place_id,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
const getUnitNumber = (fullText, number, street) => {
|
|
58
|
+
if (!number || !street)
|
|
59
|
+
return { number };
|
|
60
|
+
const regex = RegExp("^([^\/\\- ]*)[\/\\- ]?(.*) " + street); // get all the user entered values before a match with the street name; group #1 = unit number, group #2 = street number
|
|
61
|
+
const results = regex.exec(fullText);
|
|
62
|
+
if (Array.isArray(results)) { // it was in unit number/street number format
|
|
63
|
+
if (number) {
|
|
64
|
+
return { unit: results[1], number };
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return { unit: results[1], number: results[2] };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return { number };
|
|
71
|
+
};
|
|
72
|
+
exports.getLatLng = result => {
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
try {
|
|
75
|
+
const latLng = {
|
|
76
|
+
lat: result.geometry.location.lat(),
|
|
77
|
+
lng: result.geometry.location.lng(),
|
|
78
|
+
};
|
|
79
|
+
resolve(latLng);
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
Sentry.captureException(e);
|
|
83
|
+
reject(e);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
exports.geocodeByPlaceId = (placeId, fullText) => {
|
|
88
|
+
const geoCoder = new google.maps.Geocoder();
|
|
89
|
+
const OK = google.maps.GeocoderStatus.OK;
|
|
90
|
+
return new Promise((resolve, reject) => {
|
|
91
|
+
geoCoder.geocode({ placeId }, (results, status) => {
|
|
92
|
+
if (status !== OK) {
|
|
93
|
+
reject(status);
|
|
94
|
+
}
|
|
95
|
+
resolve(exports.buildResult(results[0], fullText));
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../app/client/components/Common/uniforms/AddressField/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const date_picker_1 = __importDefault(require("antd/lib/date-picker"));
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const connectField_1 = __importDefault(require("uniforms/connectField"));
|
|
9
|
+
const filterDOMProps_1 = __importDefault(require("uniforms/filterDOMProps"));
|
|
10
|
+
const moment_1 = __importDefault(require("moment"));
|
|
11
|
+
const wrapField_1 = __importDefault(require("uniforms-antd/wrapField"));
|
|
12
|
+
const Locale_1 = require("../../../../lib/schemas/Configuration/Locale");
|
|
13
|
+
const ConfigurationContext_1 = require("../ConfigurationContext");
|
|
14
|
+
const Date = ConfigurationContext_1.withConfiguration((props) => {
|
|
15
|
+
return wrapField_1.default(props, react_1.default.createElement(date_picker_1.default, Object.assign({ disabled: props.disabled, id: props.id, name: props.name, placeholder: props.placeholder || props.configuration.locale.dateFormat, onChange: value => {
|
|
16
|
+
const date = value && value.toDate();
|
|
17
|
+
if (date) {
|
|
18
|
+
date.setHours(0);
|
|
19
|
+
date.setMinutes(0);
|
|
20
|
+
date.setSeconds(0);
|
|
21
|
+
date.setMilliseconds(0);
|
|
22
|
+
}
|
|
23
|
+
return props.onChange(date ? Locale_1.removeTimeZone(date, props.configuration.locale.timeZone) : '');
|
|
24
|
+
}, ref: props.inputRef, value: props.value ? moment_1.default(Locale_1.addTimeZone(props.value, props.configuration.locale.timeZone)) : '', locale: props.configuration.locale }, filterDOMProps_1.default(props))));
|
|
25
|
+
});
|
|
26
|
+
Date.defaultProps = {
|
|
27
|
+
showTime: true,
|
|
28
|
+
style: { width: '100%' },
|
|
29
|
+
};
|
|
30
|
+
exports.default = connectField_1.default(Date, { ensureValue: false });
|
|
31
|
+
//# sourceMappingURL=DateField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/uniforms/DateField.tsx"],"names":[],"mappings":";;;;;AAAA,uEAA8C;AAC9C,kDAA0B;AAC1B,yEAAiD;AACjD,6EAAqD;AACrD,oDAA4B;AAC5B,wEAAgD;AAChD,yEAAyF;AACzF,kEAA0D;AAG1D,MAAM,IAAI,GAAG,wCAAiB,CAAC,CAAC,KAAU,EAAG,EAAE;IAC3C,OAAO,mBAAS,CACZ,KAAK,EACL,8BAAC,qBAAU,kBACP,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAEvE,QAAQ,EAAE,KAAK,CAAC,EAAE;YACd,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAA;YACpC,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;gBAClB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;aAC1B;YACD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAc,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC,EACD,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAM,CAAC,oBAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/F,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,IAC9B,wBAAc,CAAC,KAAK,CAAC,EAC3B,CACL,CAAC;AACN,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,YAAY,GAAG;IAChB,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC;CACzB,CAAC;AAEF,kBAAe,sBAAY,CAAC,IAAI,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const date_picker_1 = __importDefault(require("antd/lib/date-picker"));
|
|
7
|
+
const time_picker_1 = __importDefault(require("antd/lib/time-picker"));
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const connectField_1 = __importDefault(require("uniforms/connectField"));
|
|
10
|
+
const filterDOMProps_1 = __importDefault(require("uniforms/filterDOMProps"));
|
|
11
|
+
const moment_1 = __importDefault(require("moment"));
|
|
12
|
+
const Locale_1 = require("../../../../lib/schemas/Configuration/Locale");
|
|
13
|
+
const ConfigurationContext_1 = require("../ConfigurationContext");
|
|
14
|
+
const row_1 = __importDefault(require("antd/lib/grid/row"));
|
|
15
|
+
const col_1 = __importDefault(require("antd/lib/grid/col"));
|
|
16
|
+
const _Date = ConfigurationContext_1.withConfiguration((props) => {
|
|
17
|
+
return (react_1.default.createElement(row_1.default, null,
|
|
18
|
+
react_1.default.createElement(col_1.default, { span: 12 },
|
|
19
|
+
react_1.default.createElement("div", { className: "ant-col ant-form-item-label" },
|
|
20
|
+
react_1.default.createElement("label", { htmlFor: props.id + '_date' },
|
|
21
|
+
react_1.default.createElement("span", null, "Date: "))),
|
|
22
|
+
react_1.default.createElement(date_picker_1.default, Object.assign({ disabled: props.disabled, id: props.id + '_date', name: props.name + '_date', placeholder: 'Date', onChange: value => {
|
|
23
|
+
const d = value.toDate();
|
|
24
|
+
const now = new Date();
|
|
25
|
+
if (d.getMinutes() === now.getMinutes() && d.getHours() === now.getHours()) {
|
|
26
|
+
d.setHours(7);
|
|
27
|
+
d.setMinutes(0);
|
|
28
|
+
}
|
|
29
|
+
return props.onChange(value && Locale_1.removeTimeZone(d, props.configuration.locale.timeZone));
|
|
30
|
+
}, ref: props.inputRef, value: props.value && moment_1.default(Locale_1.addTimeZone(props.value, props.configuration.locale.timeZone)) }, filterDOMProps_1.default(props), { locale: props.configuration.locale, showTime: false }))),
|
|
31
|
+
react_1.default.createElement(col_1.default, { span: 12 },
|
|
32
|
+
react_1.default.createElement("div", { className: "ant-col ant-form-item-label" },
|
|
33
|
+
react_1.default.createElement("label", { htmlFor: props.id + '_time' },
|
|
34
|
+
react_1.default.createElement("span", null, "Time: "))),
|
|
35
|
+
react_1.default.createElement(time_picker_1.default, Object.assign({ disabled: props.disabled, id: props.id + '_time', name: props.name + '_time', placeholder: 'Time', format: "HH:mm", defaultOpenValue: moment_1.default({ hour: 7, minute: 0, second: 0, millisecond: 0 }), disabledHours: () => [0, 1, 2, 3, 4, 5, 6, 20, 21, 22, 23], onChange: value => {
|
|
36
|
+
return props.onChange(value && Locale_1.removeTimeZone(value.toDate(), props.configuration.locale.timeZone));
|
|
37
|
+
}, ref: props.inputRef, value: props.value && moment_1.default(Locale_1.addTimeZone(props.value, props.configuration.locale.timeZone)) }, filterDOMProps_1.default(props), { disabledSeconds: () => Array.from(Array(60).keys()), minuteStep: 5, hideDisabledOptions: true })))));
|
|
38
|
+
});
|
|
39
|
+
_Date.defaultProps = {
|
|
40
|
+
showTime: true,
|
|
41
|
+
style: { width: '100%' },
|
|
42
|
+
};
|
|
43
|
+
exports.default = connectField_1.default(_Date, { ensureValue: false });
|
|
44
|
+
//# sourceMappingURL=DateTimeField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/uniforms/DateTimeField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
26
|
+
result["default"] = mod;
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
const react_1 = __importStar(require("react"));
|
|
34
|
+
const connectField_1 = __importDefault(require("uniforms/connectField"));
|
|
35
|
+
const draft_js_1 = require("draft-js");
|
|
36
|
+
const wrapField_1 = __importDefault(require("uniforms-antd/wrapField"));
|
|
37
|
+
const filterDOMProps_1 = __importDefault(require("uniforms/filterDOMProps"));
|
|
38
|
+
const addMention_1 = __importDefault(require("./addMention"));
|
|
39
|
+
const menu_1 = __importDefault(require("antd/lib/menu"));
|
|
40
|
+
const dropdown_1 = __importDefault(require("antd/lib/dropdown"));
|
|
41
|
+
const icon_1 = __importDefault(require("antd/lib/icon"));
|
|
42
|
+
const antd_1 = require("antd");
|
|
43
|
+
class RichText extends react_1.PureComponent {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(...arguments);
|
|
46
|
+
this.state = { loading: true };
|
|
47
|
+
this.onEditorStateChange = (editorState) => {
|
|
48
|
+
this.setState({
|
|
49
|
+
editorState,
|
|
50
|
+
});
|
|
51
|
+
const html = this.draftToHtml(draft_js_1.convertToRaw(editorState.getCurrentContent()));
|
|
52
|
+
this.props.onChange(html);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
componentDidMount() {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
try {
|
|
58
|
+
this.Editor = (yield Promise.resolve().then(() => __importStar(require('react-draft-wysiwyg')))).Editor;
|
|
59
|
+
this.draftToHtml = (yield Promise.resolve().then(() => __importStar(require('draftjs-to-html')))).default;
|
|
60
|
+
this.htmlToDraft = (yield Promise.resolve().then(() => __importStar(require('html-to-draftjs')))).default;
|
|
61
|
+
require('./richtext.css');
|
|
62
|
+
require('react-draft-wysiwyg/dist/react-draft-wysiwyg.css');
|
|
63
|
+
const value = this.props && this.props.value && this.props.value.replace(/href="([A-Za-z0-9:\/.]*)"/gim, 'href=""') || "";
|
|
64
|
+
const contentBlock = this.htmlToDraft(value);
|
|
65
|
+
const contentState = draft_js_1.ContentState.createFromBlockArray(contentBlock.contentBlocks);
|
|
66
|
+
const editorState = draft_js_1.EditorState.createWithContent(contentState);
|
|
67
|
+
this.setState({ editorState, loading: false });
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
console.error(e);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
render() {
|
|
75
|
+
const { editorState, loading } = this.state;
|
|
76
|
+
if (loading)
|
|
77
|
+
return react_1.default.createElement(antd_1.Spin, null);
|
|
78
|
+
let _a = this.props, { value, mention, disabled } = _a, props = __rest(_a, ["value", "mention", "disabled"]);
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
const suggestions = mention && mention.suggestions || [];
|
|
81
|
+
const Editor = this.Editor;
|
|
82
|
+
return (wrapField_1.default(props, react_1.default.createElement(Editor, Object.assign({ stripPastedStyles: true, toolbar: {
|
|
83
|
+
options: ['inline', 'blockType', 'fontSize', 'fontFamily', 'list', 'textAlign', 'link', 'image', 'remove'],
|
|
84
|
+
inline: {
|
|
85
|
+
options: ['bold', 'italic', 'underline'],
|
|
86
|
+
}
|
|
87
|
+
}, toolbarCustomButtons: [react_1.default.createElement(Suggestions, { key: 1, suggestions: suggestions && suggestions.map(s => s.text) })], wrapperStyle: disabled ? { background: "#f5f5f5" } : undefined, readOnly: disabled, editorState: editorState, onEditorStateChange: this.onEditorStateChange }, filterDOMProps_1.default(props), { mention: mention }))));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.RichText = RichText;
|
|
91
|
+
exports.default = connectField_1.default(RichText);
|
|
92
|
+
class Suggestions extends react_1.Component {
|
|
93
|
+
constructor() {
|
|
94
|
+
super(...arguments);
|
|
95
|
+
this.stopPropagation = (event) => {
|
|
96
|
+
event.stopPropagation();
|
|
97
|
+
};
|
|
98
|
+
this.onClick = (suggestion) => {
|
|
99
|
+
const { editorState, onChange } = this.props;
|
|
100
|
+
addMention_1.default(editorState, onChange, ' ', '@', { value: suggestion, url: '' });
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
render() {
|
|
104
|
+
const { suggestions } = this.props;
|
|
105
|
+
if (!suggestions || suggestions.length === 0)
|
|
106
|
+
return null;
|
|
107
|
+
const menu = react_1.default.createElement(menu_1.default, null, suggestions.map(s => (react_1.default.createElement(menu_1.default.Item, { key: s, onClick: () => this.onClick(s) }, s))));
|
|
108
|
+
return (react_1.default.createElement(dropdown_1.default, { overlay: menu },
|
|
109
|
+
react_1.default.createElement("a", { className: "ant-dropdown-link", href: "#" },
|
|
110
|
+
"Add Wildcard ",
|
|
111
|
+
react_1.default.createElement(icon_1.default, { type: "down" }))));
|
|
112
|
+
}
|
|
113
|
+
;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=RichTextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextField.js","sourceRoot":"","sources":["../../../../../../../../app/client/components/Common/uniforms/RichTextField/RichTextField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const draft_js_1 = require("draft-js");
|
|
4
|
+
function addMention(editorState, onChange, separator, trigger, suggestion) {
|
|
5
|
+
const { value, url } = suggestion;
|
|
6
|
+
const entityKey = editorState
|
|
7
|
+
.getCurrentContent()
|
|
8
|
+
.createEntity('MENTION', 'IMMUTABLE', { text: `${trigger}${value}`, value, url })
|
|
9
|
+
.getLastCreatedEntityKey();
|
|
10
|
+
let selection = editorState.getSelection();
|
|
11
|
+
let newEditorState = draft_js_1.EditorState.acceptSelection(editorState, selection);
|
|
12
|
+
let contentState = draft_js_1.Modifier.replaceText(newEditorState.getCurrentContent(), editorState.getSelection(), `${trigger}${value}`, newEditorState.getCurrentInlineStyle(), entityKey);
|
|
13
|
+
newEditorState = draft_js_1.EditorState.push(newEditorState, contentState, 'insert-characters');
|
|
14
|
+
onChange(draft_js_1.EditorState.push(newEditorState, contentState, 'insert-characters'));
|
|
15
|
+
}
|
|
16
|
+
exports.default = addMention;
|
|
17
|
+
//# sourceMappingURL=addMention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addMention.js","sourceRoot":"","sources":["../../../../../../../../app/client/components/Common/uniforms/RichTextField/addMention.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAEhD,SAAwB,UAAU,CAC9B,WAAwB,EACxB,QAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,UAAe;IAEf,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,UAAU,CAAC;IAChC,MAAM,SAAS,GAAG,WAAW;SACxB,iBAAiB,EAAE;SACnB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,EAAC,IAAI,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC;SAC9E,uBAAuB,EAAE,CAAC;IAC/B,IAAI,SAAS,GAAQ,WAAW,CAAC,YAAY,EAAE,CAAA;IAC/C,IAAI,cAAc,GAAG,sBAAW,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzE,IAAI,YAAY,GAAG,mBAAQ,CAAC,WAAW,CACnC,cAAc,CAAC,iBAAiB,EAAE,EAClC,WAAW,CAAC,YAAY,EAAE,EAC1B,GAAG,OAAO,GAAG,KAAK,EAAE,EACpB,cAAc,CAAC,qBAAqB,EAAE,EACtC,SAAS,CACZ,CAAC;IACF,cAAc,GAAG,sBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAErF,QAAQ,CAAC,sBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClF,CAAC;AAxBD,6BAwBC"}
|