mario-education 2.4.506-feedback → 2.4.507-feedback

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/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ import CreateSurveyAdmin from "./containers/SurveyDashboard/components/CreateSur
46
46
  import RevertUser from "./containers/UserRevert/views/RevertUser";
47
47
  import FixDataStudent from "./containers/FixData/views/FixDataStudent";
48
48
  import CustomQuestionAlert from "./containers/CustomAlert/views/CustomQuestionAlert";
49
+ import ExternalApi from "./containers/ExternalApi/views/ExternalApi";
49
50
  import WeeklyQuest from "./containers/QuestionBank/views/WeeklyQuest";
50
51
  import SettingWeeklyQuest from "./containers/QuestionBank/views/SettingWeeklyQuest";
51
52
  import HomePage from "./containers/Homepage/views/HomePage";
@@ -54,4 +55,4 @@ import SyncData from "./containers/SyncData/views/SyncData";
54
55
  import SummarizeQuestion from "./containers/Dashboard/views/SummarizeQuestion";
55
56
  import SurveyQuestion from "./containers/QuestionBank/views/SurveyQuestion";
56
57
  import SurveyPortal from "./containers/SurveyDashboard/views/SurveyPortal";
57
- export { ClassList, ConferenceRubricList, ConferenceRubricDetail, SuggestionList, LearningStrategyList, SetupContainer, QuestionBankList, ReflectionFormList, ReflectionContainer, QuestionDetail, SubjectList, LearningSupportCategoryList, BadgeList, GoalExampleList, TutorialScreenContainer, FeedbackList, AssessmentList, QuestionBankContainer, SurveyQuestionContainer, QuestionCategoryList, AssignmentList, AssessmentAssignmentContainer, SessionTemplateContainer, SessionTemplateDetail, SessionTemplateGeneralClassDetail, CustomAlertList, CertificateContainer, CompareTeacher, AssetLog, SessionTemplateList, SessionTemplateGeneralClassList, Dashboard, AdminTraining, TemplateContainer, OneRosterContainer, SandboxContainer, TemplateBuilderPage, TemplateStartBuild, SurveyDashboardContainer, RevertUser, FixDataStudent, CustomQuestionAlert, SurveyDetailAdmin, SurveyStudentFlagListAdmin, SurveyResultAdmin, SurveyIndexAdmin, CreateSurveyAdmin, PreviewSurveyAdmin, WeeklyQuest, SettingWeeklyQuest, HomePage, MainLayoutAdmin, SyncData, SummarizeQuestion, SurveyQuestion, SurveyPortal };
58
+ export { ClassList, ConferenceRubricList, ConferenceRubricDetail, SuggestionList, LearningStrategyList, SetupContainer, QuestionBankList, ReflectionFormList, ReflectionContainer, QuestionDetail, SubjectList, LearningSupportCategoryList, BadgeList, GoalExampleList, TutorialScreenContainer, FeedbackList, AssessmentList, QuestionBankContainer, SurveyQuestionContainer, QuestionCategoryList, AssignmentList, AssessmentAssignmentContainer, SessionTemplateContainer, SessionTemplateDetail, SessionTemplateGeneralClassDetail, CustomAlertList, CertificateContainer, CompareTeacher, AssetLog, SessionTemplateList, SessionTemplateGeneralClassList, Dashboard, AdminTraining, TemplateContainer, OneRosterContainer, SandboxContainer, TemplateBuilderPage, TemplateStartBuild, SurveyDashboardContainer, RevertUser, FixDataStudent, CustomQuestionAlert, SurveyDetailAdmin, SurveyStudentFlagListAdmin, SurveyResultAdmin, SurveyIndexAdmin, CreateSurveyAdmin, PreviewSurveyAdmin, ExternalApi, WeeklyQuest, SettingWeeklyQuest, HomePage, MainLayoutAdmin, SyncData, SummarizeQuestion, SurveyQuestion, SurveyPortal };
package/dist/index.js CHANGED
@@ -71058,6 +71058,395 @@ var CustomQuestionAlert = function CustomQuestionAlert() {
71058
71058
  }))));
71059
71059
  };
71060
71060
 
71061
+ var EXTERNAL_TOKEN = marioCore.BASE_URL + "/api/ExternalToken";
71062
+ var create$n = function create(data) {
71063
+ return marioCore.api.post("" + EXTERNAL_TOKEN, data);
71064
+ };
71065
+ var update$o = function update(id, data) {
71066
+ return marioCore.api.put(EXTERNAL_TOKEN + "/" + id, data);
71067
+ };
71068
+ var get$v = function get(filters) {
71069
+ return marioCore.api.get("" + EXTERNAL_TOKEN, {
71070
+ params: filters
71071
+ });
71072
+ };
71073
+ var remove$o = function remove(id) {
71074
+ return marioCore.api["delete"](EXTERNAL_TOKEN + "/" + id);
71075
+ };
71076
+
71077
+ var useExternalApi = function useExternalApi() {
71078
+ var dispatch = reactRedux.useDispatch();
71079
+
71080
+ var _useState = React.useState([]),
71081
+ tokens = _useState[0],
71082
+ setTokens = _useState[1];
71083
+
71084
+ var _useState2 = React.useState(null),
71085
+ tokenDetail = _useState2[0],
71086
+ setTokenDetail = _useState2[1];
71087
+
71088
+ var _useFilters = marioCore.useFilters(),
71089
+ filters = _useFilters.filters,
71090
+ changeFilters = _useFilters.changeFilters;
71091
+
71092
+ var goToDetailToken = function goToDetailToken(token) {
71093
+ setTokenDetail(token);
71094
+ };
71095
+
71096
+ var removeBackslashesFromJSON = function removeBackslashesFromJSON(jsonString) {
71097
+ return jsonString.replace(/\\/g, "");
71098
+ };
71099
+
71100
+ var handleChangePermission = function handleChangePermission(property, value) {
71101
+ if (tokenDetail) {
71102
+ var _extends2;
71103
+
71104
+ var permissionChecked = [].concat(tokenDetail.permission[property]);
71105
+
71106
+ if (!permissionChecked.includes(value)) {
71107
+ permissionChecked = [].concat(permissionChecked, [value]);
71108
+ } else {
71109
+ permissionChecked = permissionChecked.filter(function (r) {
71110
+ return r !== value;
71111
+ });
71112
+ }
71113
+
71114
+ setTokenDetail(_extends({}, tokenDetail, {
71115
+ permission: _extends({}, tokenDetail.permission, (_extends2 = {}, _extends2[property] = permissionChecked, _extends2))
71116
+ }));
71117
+ }
71118
+ };
71119
+
71120
+ var getAllToken = React.useCallback(function () {
71121
+ try {
71122
+ var _temp3 = function _temp3() {
71123
+ dispatch(marioCore.setLoading(false));
71124
+ };
71125
+
71126
+ dispatch(marioCore.setLoading(true));
71127
+
71128
+ var _temp4 = _catch(function () {
71129
+ return Promise.resolve(get$v(filters)).then(function (res) {
71130
+ var _res$data;
71131
+
71132
+ var items = (res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || [];
71133
+ setTokens(items.map(function (r) {
71134
+ return {
71135
+ id: r.id,
71136
+ createDate: r.createDate,
71137
+ token: r.token,
71138
+ permission: JSON.parse(r.permission)
71139
+ };
71140
+ }));
71141
+ });
71142
+ }, function (err) {
71143
+ var _err$response, _err$response$data;
71144
+
71145
+ dispatch(marioCore.setAlert({
71146
+ type: "danger",
71147
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
71148
+ }));
71149
+ });
71150
+
71151
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
71152
+ } catch (e) {
71153
+ return Promise.reject(e);
71154
+ }
71155
+ }, [filters]);
71156
+ var generateToken = React.useCallback(function (isCreate) {
71157
+ try {
71158
+ var _temp7 = function _temp7() {
71159
+ dispatch(marioCore.setLoading(false));
71160
+ };
71161
+
71162
+ dispatch(marioCore.setLoading(true));
71163
+
71164
+ var _temp8 = _catch(function () {
71165
+ var cleanedPermissionJSON = removeBackslashesFromJSON(JSON.stringify(tokenDetail === null || tokenDetail === void 0 ? void 0 : tokenDetail.permission));
71166
+ return Promise.resolve(isCreate || !(tokenDetail !== null && tokenDetail !== void 0 && tokenDetail.id) ? create$n({
71167
+ permission: cleanedPermissionJSON
71168
+ }) : update$o(tokenDetail === null || tokenDetail === void 0 ? void 0 : tokenDetail.id, {
71169
+ permission: cleanedPermissionJSON
71170
+ })).then(function (_create) {
71171
+ _create;
71172
+ goToDetailToken(null);
71173
+ getAllToken();
71174
+ });
71175
+ }, function (err) {
71176
+ var _err$response2, _err$response2$data;
71177
+
71178
+ dispatch(marioCore.setAlert({
71179
+ type: "danger",
71180
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
71181
+ }));
71182
+ });
71183
+
71184
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
71185
+ } catch (e) {
71186
+ return Promise.reject(e);
71187
+ }
71188
+ }, [tokenDetail]);
71189
+ var removeToken = React.useCallback(function (id) {
71190
+ try {
71191
+ dispatch(marioCore.setLoading(true));
71192
+
71193
+ try {
71194
+ dispatch(marioCore.setModal({
71195
+ isOpen: true,
71196
+ type: "warning",
71197
+ message: "Do you want to remove this token?",
71198
+ onConfirm: function () {
71199
+ try {
71200
+ return Promise.resolve(remove$o(id)).then(function () {
71201
+ dispatch(marioCore.setAlert({
71202
+ type: "success",
71203
+ message: "Remove token successfully"
71204
+ }));
71205
+ getAllToken();
71206
+ });
71207
+ } catch (e) {
71208
+ return Promise.reject(e);
71209
+ }
71210
+ }
71211
+ }));
71212
+ } catch (err) {
71213
+ var _err$response3, _err$response3$data;
71214
+
71215
+ dispatch(marioCore.setAlert({
71216
+ type: "danger",
71217
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
71218
+ }));
71219
+ }
71220
+
71221
+ dispatch(marioCore.setLoading(false));
71222
+ return Promise.resolve();
71223
+ } catch (e) {
71224
+ return Promise.reject(e);
71225
+ }
71226
+ }, []);
71227
+ React.useEffect(function () {
71228
+ getAllToken();
71229
+ document.title = "External Api";
71230
+ }, [filters]);
71231
+ return {
71232
+ generateToken: generateToken,
71233
+ tokens: tokens,
71234
+ changeFilters: changeFilters,
71235
+ filters: filters,
71236
+ removeToken: removeToken,
71237
+ goToDetailToken: goToDetailToken,
71238
+ tokenDetail: tokenDetail,
71239
+ handleChangePermission: handleChangePermission
71240
+ };
71241
+ };
71242
+
71243
+ var DATE_RESULT = "dd-MM-yyyy";
71244
+ var initToken = {
71245
+ token: "",
71246
+ createDate: "",
71247
+ permission: {
71248
+ checkIns: ["GET"],
71249
+ classReflections: ["GET"],
71250
+ conferences: ["GET"],
71251
+ surveys: ["GET"]
71252
+ }
71253
+ };
71254
+
71255
+ var DetailTokenModel = function DetailTokenModel(_ref) {
71256
+ var open = _ref.open,
71257
+ children = _ref.children,
71258
+ _toggle = _ref.toggle,
71259
+ isCreate = _ref.isCreate,
71260
+ onConfirm = _ref.onConfirm;
71261
+
71262
+ var _useTranslation = marioCore.useTranslation(),
71263
+ t = _useTranslation.t;
71264
+
71265
+ return React__default.createElement(reactstrap.Modal, {
71266
+ isOpen: open,
71267
+ toggle: function toggle() {
71268
+ return _toggle(null);
71269
+ }
71270
+ }, React__default.createElement(reactstrap.ModalHeader, {
71271
+ toggle: function toggle() {
71272
+ return _toggle(null);
71273
+ }
71274
+ }, (isCreate ? "Create" : "Update") + " token"), React__default.createElement(reactstrap.ModalBody, null, children), React__default.createElement(reactstrap.ModalFooter, {
71275
+ className: "text-right"
71276
+ }, React__default.createElement(reactstrap.Button, {
71277
+ color: "primary",
71278
+ onClick: function onClick() {
71279
+ return onConfirm(isCreate);
71280
+ }
71281
+ }, t("confirm")), React__default.createElement(reactstrap.Button, {
71282
+ onClick: function onClick() {
71283
+ return _toggle(null);
71284
+ }
71285
+ }, t("cancel"))));
71286
+ };
71287
+
71288
+ var PermissionSelected = function PermissionSelected(_ref) {
71289
+ var permission = _ref.permission,
71290
+ name = _ref.name,
71291
+ onChange = _ref.onChange;
71292
+ return React__default.createElement("div", {
71293
+ className: "d-flex align-items-center"
71294
+ }, React__default.createElement("div", {
71295
+ className: "d-flex align-items-center mr-4"
71296
+ }, React__default.createElement(CheckboxCustom, {
71297
+ isActive: permission.includes("GET"),
71298
+ className: "mr-2",
71299
+ onClick: function onClick() {
71300
+ return onChange(name, "GET");
71301
+ }
71302
+ }), "GET"));
71303
+ };
71304
+
71305
+ var ExternalApi = function ExternalApi() {
71306
+ var _tokenDetail$permissi, _tokenDetail$permissi2, _tokenDetail$permissi3, _tokenDetail$permissi4;
71307
+
71308
+ var _useTranslation = marioCore.useTranslation(),
71309
+ t = _useTranslation.t;
71310
+
71311
+ var _useExternalApi = useExternalApi(),
71312
+ generateToken = _useExternalApi.generateToken,
71313
+ tokens = _useExternalApi.tokens,
71314
+ changeFilters = _useExternalApi.changeFilters,
71315
+ filters = _useExternalApi.filters,
71316
+ removeToken = _useExternalApi.removeToken,
71317
+ goToDetailToken = _useExternalApi.goToDetailToken,
71318
+ tokenDetail = _useExternalApi.tokenDetail,
71319
+ handleChangePermission = _useExternalApi.handleChangePermission;
71320
+
71321
+ return React__default.createElement("div", {
71322
+ className: "fadeIn animated"
71323
+ }, React__default.createElement("div", {
71324
+ className: "d-flex justify-content-between"
71325
+ }, React__default.createElement("h2", {
71326
+ className: "my-2 font-weight-bold"
71327
+ }, "External Token"), React__default.createElement(marioCore.AddButton, {
71328
+ text: "Create new Token",
71329
+ onClick: function onClick() {
71330
+ return goToDetailToken(initToken);
71331
+ }
71332
+ })), React__default.createElement("div", {
71333
+ className: "mb-2 mt-4"
71334
+ }, tokens && tokens.length > 0 ? React__default.createElement(reactstrap.Table, {
71335
+ bordered: true,
71336
+ hover: true,
71337
+ striped: true,
71338
+ responsive: true,
71339
+ size: "sm"
71340
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
71341
+ className: "align-top"
71342
+ }, "Token"), React__default.createElement("th", {
71343
+ className: "align-top"
71344
+ }, t("check_in")), React__default.createElement("th", {
71345
+ className: "align-top"
71346
+ }, t("conference")), React__default.createElement("th", {
71347
+ className: "align-top"
71348
+ }, t("class_reflection")), React__default.createElement("th", {
71349
+ className: "align-top"
71350
+ }, t("survey")), React__default.createElement("th", {
71351
+ className: "align-top"
71352
+ }, t("created_date")), React__default.createElement("th", {
71353
+ className: "text-center"
71354
+ }, t("action")))), React__default.createElement("tbody", null, tokens.map(function (record) {
71355
+ var _record$permission, _record$permission$ch, _record$permission2, _record$permission2$c, _record$permission3, _record$permission3$c, _record$permission4, _record$permission4$s;
71356
+
71357
+ return React__default.createElement("tr", {
71358
+ key: record.id
71359
+ }, React__default.createElement("td", {
71360
+ className: "align-middle"
71361
+ }, React__default.createElement(marioCore.LinkEditButton, {
71362
+ label: record.token,
71363
+ onClick: function onClick() {
71364
+ return goToDetailToken(record);
71365
+ }
71366
+ })), React__default.createElement("td", {
71367
+ className: "align-middle"
71368
+ }, (_record$permission = record.permission) === null || _record$permission === void 0 ? void 0 : (_record$permission$ch = _record$permission.checkIns) === null || _record$permission$ch === void 0 ? void 0 : _record$permission$ch.toString()), React__default.createElement("td", {
71369
+ className: "align-middle"
71370
+ }, (_record$permission2 = record.permission) === null || _record$permission2 === void 0 ? void 0 : (_record$permission2$c = _record$permission2.conferences) === null || _record$permission2$c === void 0 ? void 0 : _record$permission2$c.toString()), React__default.createElement("td", {
71371
+ className: "align-middle"
71372
+ }, (_record$permission3 = record.permission) === null || _record$permission3 === void 0 ? void 0 : (_record$permission3$c = _record$permission3.classReflections) === null || _record$permission3$c === void 0 ? void 0 : _record$permission3$c.toString()), React__default.createElement("td", {
71373
+ className: "align-middle"
71374
+ }, (_record$permission4 = record.permission) === null || _record$permission4 === void 0 ? void 0 : (_record$permission4$s = _record$permission4.surveys) === null || _record$permission4$s === void 0 ? void 0 : _record$permission4$s.toString()), React__default.createElement("td", {
71375
+ className: "align-middle"
71376
+ }, dateFns.format(new Date(record.createDate), DATE_RESULT)), React__default.createElement("td", {
71377
+ className: "text-center align-middle"
71378
+ }, React__default.createElement(marioCore.DeleteButtonIcon, {
71379
+ onClick: function onClick() {
71380
+ return !!(record !== null && record !== void 0 && record.id) && removeToken(record.id);
71381
+ }
71382
+ })));
71383
+ }))) : React__default.createElement(marioCore.EmptyDataAlert, {
71384
+ label: "token"
71385
+ }), React__default.createElement(reactstrap.Row, {
71386
+ className: "mt-2"
71387
+ }, React__default.createElement(reactstrap.Col, {
71388
+ md: 12
71389
+ }, React__default.createElement(marioCore.CustomPagination, {
71390
+ filters: filters,
71391
+ totalRecordCount: (tokens === null || tokens === void 0 ? void 0 : tokens.length) || 0,
71392
+ changePageSize: function changePageSize(pageSize) {
71393
+ return changeFilters({
71394
+ pageSize: pageSize
71395
+ });
71396
+ },
71397
+ changePage: function changePage(currentPage) {
71398
+ return changeFilters({
71399
+ currentPage: currentPage
71400
+ });
71401
+ }
71402
+ })))), React__default.createElement(DetailTokenModel, {
71403
+ open: !!tokenDetail,
71404
+ toggle: goToDetailToken,
71405
+ isCreate: !(tokenDetail !== null && tokenDetail !== void 0 && tokenDetail.id),
71406
+ onConfirm: generateToken
71407
+ }, React__default.createElement("div", null, !!(tokenDetail !== null && tokenDetail !== void 0 && tokenDetail.token) && React__default.createElement("div", {
71408
+ className: "d-flex align-items-center mt-4"
71409
+ }, React__default.createElement("h6", {
71410
+ className: "mr-5 mb-0"
71411
+ }, "Token: ", tokenDetail === null || tokenDetail === void 0 ? void 0 : tokenDetail.token)), React__default.createElement("div", {
71412
+ className: "d-flex align-items-center mt-4"
71413
+ }, React__default.createElement("h2", {
71414
+ className: "mr-5 mb-0"
71415
+ }, "Permission")), React__default.createElement("div", {
71416
+ className: "d-flex align-items-center mt-4"
71417
+ }, React__default.createElement("h6", {
71418
+ className: "mr-5 mb-0"
71419
+ }, "CheckIns:"), React__default.createElement(PermissionSelected, {
71420
+ name: "checkIns",
71421
+ onChange: handleChangePermission,
71422
+ permission: (tokenDetail === null || tokenDetail === void 0 ? void 0 : (_tokenDetail$permissi = tokenDetail.permission) === null || _tokenDetail$permissi === void 0 ? void 0 : _tokenDetail$permissi.checkIns) || []
71423
+ })), React__default.createElement("div", {
71424
+ className: "d-flex align-items-center mt-4"
71425
+ }, React__default.createElement("h6", {
71426
+ className: "mr-5 mb-0"
71427
+ }, "Conferences:"), React__default.createElement(PermissionSelected, {
71428
+ name: "conferences",
71429
+ onChange: handleChangePermission,
71430
+ permission: (tokenDetail === null || tokenDetail === void 0 ? void 0 : (_tokenDetail$permissi2 = tokenDetail.permission) === null || _tokenDetail$permissi2 === void 0 ? void 0 : _tokenDetail$permissi2.conferences) || []
71431
+ })), React__default.createElement("div", {
71432
+ className: "d-flex align-items-center mt-4"
71433
+ }, React__default.createElement("h6", {
71434
+ className: "mr-5 mb-0"
71435
+ }, "Reflections:"), React__default.createElement(PermissionSelected, {
71436
+ name: "classReflections",
71437
+ onChange: handleChangePermission,
71438
+ permission: (tokenDetail === null || tokenDetail === void 0 ? void 0 : (_tokenDetail$permissi3 = tokenDetail.permission) === null || _tokenDetail$permissi3 === void 0 ? void 0 : _tokenDetail$permissi3.classReflections) || []
71439
+ })), React__default.createElement("div", {
71440
+ className: "d-flex align-items-center mt-4"
71441
+ }, React__default.createElement("h6", {
71442
+ className: "mr-5 mb-0"
71443
+ }, "Surveys:"), React__default.createElement(PermissionSelected, {
71444
+ name: "surveys",
71445
+ onChange: handleChangePermission,
71446
+ permission: (tokenDetail === null || tokenDetail === void 0 ? void 0 : (_tokenDetail$permissi4 = tokenDetail.permission) === null || _tokenDetail$permissi4 === void 0 ? void 0 : _tokenDetail$permissi4.surveys) || []
71447
+ })))));
71448
+ };
71449
+
71061
71450
  var WEEKLY_QUEST_URL = marioCore.BASE_URL + "/api/WeeklyQuest";
71062
71451
  var getWeeklyQuest = function getWeeklyQuest(filter) {
71063
71452
  return marioCore.api.get(WEEKLY_QUEST_URL + "/all", {
@@ -77550,6 +77939,7 @@ exports.CreateSurveyAdmin = CreateSurveyAdmin;
77550
77939
  exports.CustomAlertList = CustomAlertList;
77551
77940
  exports.CustomQuestionAlert = CustomQuestionAlert;
77552
77941
  exports.Dashboard = Dashboard;
77942
+ exports.ExternalApi = ExternalApi;
77553
77943
  exports.FeedbackList = FeedbackList;
77554
77944
  exports.FixDataStudent = FixDataStudent;
77555
77945
  exports.GoalExampleList = GoalExampleList;