@webiny/app-record-locking 5.40.0-beta.3 → 5.40.0-beta.4

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.
@@ -25,12 +25,12 @@ var Bold = /*#__PURE__*/(0, _base.default)("span", process.env.NODE_ENV === "pro
25
25
  } : {
26
26
  name: "16ceglb",
27
27
  styles: "font-weight:600",
28
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRlbnRFbnRyeUxvY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYXdCIiwiZmlsZSI6IkNvbnRlbnRFbnRyeUxvY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZW50RW50cmllc0xpc3QsIHVzZUNvbnRlbnRFbnRyeSB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZyB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyBJSXNSZWNvcmRMb2NrZWRQYXJhbXMsIElSZWNvcmRMb2NraW5nSWRlbnRpdHksIElSZWNvcmRMb2NraW5nTG9ja1JlY29yZCB9IGZyb20gXCJ+L3R5cGVzXCI7XG5pbXBvcnQge1xuICAgIEluY29taW5nR2VuZXJpY0RhdGEsXG4gICAgSVdlYnNvY2tldHNTdWJzY3JpcHRpb24sXG4gICAgdXNlV2Vic29ja2V0c1xufSBmcm9tIFwiQHdlYmlueS9hcHAtd2Vic29ja2V0c1wiO1xuaW1wb3J0IHsgcGFyc2VJZGVudGlmaWVyIH0gZnJvbSBcIkB3ZWJpbnkvdXRpbHNcIjtcbmltcG9ydCB7IHVzZURpYWxvZ3MgfSBmcm9tIFwiQHdlYmlueS9hcHAtYWRtaW5cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkLnNwYW5gXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRFbnRyeUxvY2tlclByb3BzIHtcbiAgICBvbkRpc2FibGVQcm9tcHQ6IChmbGFnOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtpY2tPdXRXZWJzb2NrZXRzTWVzc2FnZSBleHRlbmRzIEluY29taW5nR2VuZXJpY0RhdGEge1xuICAgIGRhdGE6IHtcbiAgICAgICAgcmVjb3JkOiBJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmQ7XG4gICAgICAgIHVzZXI6IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG4gICAgfTtcbn1cbmludGVyZmFjZSBJRm9yY2VVbmxvY2tlZFByb3BzIHtcbiAgICB1c2VyOiBJUmVjb3JkTG9ja2luZ0lkZW50aXR5O1xufVxuY29uc3QgRm9yY2VVbmxvY2tlZCA9ICh7IHVzZXIgfTogSUZvcmNlVW5sb2NrZWRQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICBUaGUgZW50cnkgeW91IHdlcmUgZWRpdGluZyB3YXMgZm9yY2VmdWxseSB1bmxvY2tlZCBieVxuICAgICAgICAgICAgPEJvbGQ+e3VzZXIuZGlzcGxheU5hbWUgfHwgXCJVbmtub3duIHVzZXJcIn08L0JvbGQ+LiBVbmZvcnR1bmF0ZWx5LCB0aGlzIG1lYW5zIHlvdSBsb3N0XG4gICAgICAgICAgICB0aGUgdW5zYXZlZCBjaGFuZ2VzLlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnRFbnRyeUxvY2tlciA9ICh7IG9uRGlzYWJsZVByb21wdCwgY2hpbGRyZW4gfTogSUNvbnRlbnRFbnRyeUxvY2tlclByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBlbnRyeSwgY29udGVudE1vZGVsOiBtb2RlbCB9ID0gdXNlQ29udGVudEVudHJ5KCk7XG4gICAgY29uc3QgeyB1cGRhdGVFbnRyeUxvY2ssIHVubG9ja0VudHJ5LCBmZXRjaExvY2tlZEVudHJ5TG9ja1JlY29yZCwgcmVtb3ZlRW50cnlMb2NrIH0gPVxuICAgICAgICB1c2VSZWNvcmRMb2NraW5nKCk7XG5cbiAgICBjb25zdCB7IG5hdmlnYXRlVG8gfSA9IHVzZUNvbnRlbnRFbnRyaWVzTGlzdCgpO1xuXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdXNlUmVmPElXZWJzb2NrZXRzU3Vic2NyaXB0aW9uPGFueT4+KCk7XG5cbiAgICBjb25zdCB3ZWJzb2NrZXRzID0gdXNlV2Vic29ja2V0cygpO1xuXG4gICAgY29uc3QgeyBzaG93RGlhbG9nIH0gPSB1c2VEaWFsb2dzKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVudHJ5LmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoc3Vic2NyaXB0aW9uLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5jdXJyZW50Lm9mZigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgaWQ6IGVudHJ5SWQgfSA9IHBhcnNlSWRlbnRpZmllcihlbnRyeS5pZCk7XG5cbiAgICAgICAgc3Vic2NyaXB0aW9uLmN1cnJlbnQgPSB3ZWJzb2NrZXRzLm9uTWVzc2FnZTxJS2lja091dFdlYnNvY2tldHNNZXNzYWdlPihcbiAgICAgICAgICAgIGByZWNvcmRMb2NraW5nLmVudHJ5LmtpY2tPdXQuJHtlbnRyeUlkfWAsXG4gICAgICAgICAgICBhc3luYyBpbmNvbWluZyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB1c2VyIH0gPSBpbmNvbWluZy5kYXRhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZDogSUlzUmVjb3JkTG9ja2VkUGFyYW1zID0ge1xuICAgICAgICAgICAgICAgICAgICBpZDogZW50cnlJZCxcbiAgICAgICAgICAgICAgICAgICAgJGxvY2tpbmdUeXBlOiBtb2RlbC5tb2RlbElkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZW1vdmVFbnRyeUxvY2socmVjb3JkKTtcbiAgICAgICAgICAgICAgICBvbkRpc2FibGVQcm9tcHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgc2hvd0RpYWxvZyh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIkVudHJ5IHdhcyBmb3JjZWZ1bGx5IHVubG9ja2VkIVwiLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiA8Rm9yY2VVbmxvY2tlZCB1c2VyPXt1c2VyfSAvPixcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0TGFiZWw6IFwiT2tcIixcbiAgICAgICAgICAgICAgICAgICAgb25DbG9zZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxMYWJlbDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbmF2aWdhdGVUbygpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmlwdGlvbi5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmN1cnJlbnQub2ZmKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2VudHJ5LmlkLCBuYXZpZ2F0ZVRvLCBtb2RlbC5tb2RlbElkXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVudHJ5LmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWNvcmQ6IElJc1JlY29yZExvY2tlZFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgICAgICAgICRsb2NraW5nVHlwZTogbW9kZWwubW9kZWxJZFxuICAgICAgICB9O1xuICAgICAgICB1cGRhdGVFbnRyeUxvY2socmVjb3JkKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaExvY2tlZEVudHJ5TG9ja1JlY29yZChyZWNvcmQpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bmxvY2tFbnRyeShyZWNvcmQpO1xuICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbZW50cnkuaWRdKTtcblxuICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG59O1xuIl19 */",
28
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRlbnRFbnRyeUxvY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYXdCIiwiZmlsZSI6IkNvbnRlbnRFbnRyeUxvY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZW50RW50cmllc0xpc3QsIHVzZUNvbnRlbnRFbnRyeSB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXNcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZyB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyBJSXNSZWNvcmRMb2NrZWRQYXJhbXMsIElSZWNvcmRMb2NraW5nSWRlbnRpdHksIElSZWNvcmRMb2NraW5nTG9ja1JlY29yZCB9IGZyb20gXCJ+L3R5cGVzXCI7XG5pbXBvcnQge1xuICAgIEluY29taW5nR2VuZXJpY0RhdGEsXG4gICAgSVdlYnNvY2tldHNTdWJzY3JpcHRpb24sXG4gICAgdXNlV2Vic29ja2V0c1xufSBmcm9tIFwiQHdlYmlueS9hcHAtd2Vic29ja2V0c1wiO1xuaW1wb3J0IHsgcGFyc2VJZGVudGlmaWVyIH0gZnJvbSBcIkB3ZWJpbnkvdXRpbHNcIjtcbmltcG9ydCB7IHVzZURpYWxvZ3MgfSBmcm9tIFwiQHdlYmlueS9hcHAtYWRtaW5cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuXG5jb25zdCBCb2xkID0gc3R5bGVkLnNwYW5gXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRFbnRyeUxvY2tlclByb3BzIHtcbiAgICBvbkRpc2FibGVQcm9tcHQ6IChmbGFnOiBib29sZWFuKSA9PiB2b2lkO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtpY2tPdXRXZWJzb2NrZXRzTWVzc2FnZSBleHRlbmRzIEluY29taW5nR2VuZXJpY0RhdGEge1xuICAgIGRhdGE6IHtcbiAgICAgICAgcmVjb3JkOiBJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmQ7XG4gICAgICAgIHVzZXI6IElSZWNvcmRMb2NraW5nSWRlbnRpdHk7XG4gICAgfTtcbn1cbmludGVyZmFjZSBJRm9yY2VVbmxvY2tlZFByb3BzIHtcbiAgICB1c2VyOiBJUmVjb3JkTG9ja2luZ0lkZW50aXR5O1xufVxuY29uc3QgRm9yY2VVbmxvY2tlZCA9ICh7IHVzZXIgfTogSUZvcmNlVW5sb2NrZWRQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICBUaGUgZW50cnkgeW91IHdlcmUgZWRpdGluZyB3YXMgZm9yY2VmdWxseSB1bmxvY2tlZCBieXtcIiBcIn1cbiAgICAgICAgICAgIDxCb2xkPnt1c2VyLmRpc3BsYXlOYW1lIHx8IFwiVW5rbm93biB1c2VyXCJ9PC9Cb2xkPi4gVW5mb3J0dW5hdGVseSwgdGhpcyBtZWFucyB5b3UgbG9zdFxuICAgICAgICAgICAgdGhlIHVuc2F2ZWQgY2hhbmdlcy5cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb250ZW50RW50cnlMb2NrZXIgPSAoeyBvbkRpc2FibGVQcm9tcHQsIGNoaWxkcmVuIH06IElDb250ZW50RW50cnlMb2NrZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgZW50cnksIGNvbnRlbnRNb2RlbDogbW9kZWwgfSA9IHVzZUNvbnRlbnRFbnRyeSgpO1xuICAgIGNvbnN0IHsgdXBkYXRlRW50cnlMb2NrLCB1bmxvY2tFbnRyeSwgZmV0Y2hMb2NrZWRFbnRyeUxvY2tSZWNvcmQsIHJlbW92ZUVudHJ5TG9jayB9ID1cbiAgICAgICAgdXNlUmVjb3JkTG9ja2luZygpO1xuXG4gICAgY29uc3QgeyBuYXZpZ2F0ZVRvIH0gPSB1c2VDb250ZW50RW50cmllc0xpc3QoKTtcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHVzZVJlZjxJV2Vic29ja2V0c1N1YnNjcmlwdGlvbjxhbnk+PigpO1xuXG4gICAgY29uc3Qgd2Vic29ja2V0cyA9IHVzZVdlYnNvY2tldHMoKTtcblxuICAgIGNvbnN0IHsgc2hvd0RpYWxvZyB9ID0gdXNlRGlhbG9ncygpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFlbnRyeS5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHN1YnNjcmlwdGlvbi5jdXJyZW50KSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uY3VycmVudC5vZmYoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGlkOiBlbnRyeUlkIH0gPSBwYXJzZUlkZW50aWZpZXIoZW50cnkuaWQpO1xuXG4gICAgICAgIHN1YnNjcmlwdGlvbi5jdXJyZW50ID0gd2Vic29ja2V0cy5vbk1lc3NhZ2U8SUtpY2tPdXRXZWJzb2NrZXRzTWVzc2FnZT4oXG4gICAgICAgICAgICBgcmVjb3JkTG9ja2luZy5lbnRyeS5raWNrT3V0LiR7ZW50cnlJZH1gLFxuICAgICAgICAgICAgYXN5bmMgaW5jb21pbmcgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdXNlciB9ID0gaW5jb21pbmcuZGF0YTtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQ6IElJc1JlY29yZExvY2tlZFBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGVudHJ5SWQsXG4gICAgICAgICAgICAgICAgICAgICRsb2NraW5nVHlwZTogbW9kZWwubW9kZWxJZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVtb3ZlRW50cnlMb2NrKHJlY29yZCk7XG4gICAgICAgICAgICAgICAgb25EaXNhYmxlUHJvbXB0KHRydWUpO1xuICAgICAgICAgICAgICAgIHNob3dEaWFsb2coe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJFbnRyeSB3YXMgZm9yY2VmdWxseSB1bmxvY2tlZCFcIixcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogPEZvcmNlVW5sb2NrZWQgdXNlcj17dXNlcn0gLz4sXG4gICAgICAgICAgICAgICAgICAgIGFjY2VwdExhYmVsOiBcIk9rXCIsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsTGFiZWw6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG5hdmlnYXRlVG8oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzdWJzY3JpcHRpb24uY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5jdXJyZW50Lm9mZigpO1xuICAgICAgICB9O1xuICAgIH0sIFtlbnRyeS5pZCwgbmF2aWdhdGVUbywgbW9kZWwubW9kZWxJZF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFlbnRyeS5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVjb3JkOiBJSXNSZWNvcmRMb2NrZWRQYXJhbXMgPSB7XG4gICAgICAgICAgICBpZDogZW50cnkuaWQsXG4gICAgICAgICAgICAkbG9ja2luZ1R5cGU6IG1vZGVsLm1vZGVsSWRcbiAgICAgICAgfTtcbiAgICAgICAgdXBkYXRlRW50cnlMb2NrKHJlY29yZCk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hMb2NrZWRFbnRyeUxvY2tSZWNvcmQocmVjb3JkKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdW5sb2NrRW50cnkocmVjb3JkKTtcbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2VudHJ5LmlkXSk7XG5cbiAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xufTtcbiJdfQ== */",
29
29
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
30
  });
31
31
  var ForceUnlocked = function ForceUnlocked(_ref) {
32
32
  var user = _ref.user;
33
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "The entry you were editing was forcefully unlocked by", /*#__PURE__*/_react.default.createElement(Bold, null, user.displayName || "Unknown user"), ". Unfortunately, this means you lost the unsaved changes.");
33
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "The entry you were editing was forcefully unlocked by", " ", /*#__PURE__*/_react.default.createElement(Bold, null, user.displayName || "Unknown user"), ". Unfortunately, this means you lost the unsaved changes.");
34
34
  };
35
35
  var ContentEntryLocker = exports.ContentEntryLocker = function ContentEntryLocker(_ref2) {
36
36
  var onDisablePrompt = _ref2.onDisablePrompt,
@@ -1 +1 @@
1
- {"version":3,"names":["_appHeadlessCms","require","_react","_interopRequireWildcard","_hooks","_appWebsockets","_utils","_appAdmin","_EMOTION_STRINGIFIED_CSS_ERROR__","Bold","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","ForceUnlocked","_ref","user","createElement","Fragment","displayName","ContentEntryLocker","exports","_ref2","onDisablePrompt","children","_useContentEntry","useContentEntry","entry","model","contentModel","_useRecordLocking","useRecordLocking","updateEntryLock","unlockEntry","fetchLockedEntryLockRecord","removeEntryLock","_useContentEntriesLis","useContentEntriesList","navigateTo","subscription","useRef","websockets","useWebsockets","_useDialogs","useDialogs","showDialog","useEffect","id","current","off","_parseIdentifier","parseIdentifier","entryId","onMessage","concat","incoming","data","record","$lockingType","modelId","title","content","acceptLabel","onClose","undefined","cancelLabel","result"],"sources":["ContentEntryLocker.tsx"],"sourcesContent":["import { useContentEntriesList, useContentEntry } from \"@webiny/app-headless-cms\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useRecordLocking } from \"~/hooks\";\nimport { IIsRecordLockedParams, IRecordLockingIdentity, IRecordLockingLockRecord } from \"~/types\";\nimport {\n IncomingGenericData,\n IWebsocketsSubscription,\n useWebsockets\n} from \"@webiny/app-websockets\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport styled from \"@emotion/styled\";\n\nconst Bold = styled.span`\n font-weight: 600;\n`;\n\nexport interface IContentEntryLockerProps {\n onDisablePrompt: (flag: boolean) => void;\n children: React.ReactElement;\n}\n\nexport interface IKickOutWebsocketsMessage extends IncomingGenericData {\n data: {\n record: IRecordLockingLockRecord;\n user: IRecordLockingIdentity;\n };\n}\ninterface IForceUnlockedProps {\n user: IRecordLockingIdentity;\n}\nconst ForceUnlocked = ({ user }: IForceUnlockedProps) => {\n return (\n <>\n The entry you were editing was forcefully unlocked by\n <Bold>{user.displayName || \"Unknown user\"}</Bold>. Unfortunately, this means you lost\n the unsaved changes.\n </>\n );\n};\n\nexport const ContentEntryLocker = ({ onDisablePrompt, children }: IContentEntryLockerProps) => {\n const { entry, contentModel: model } = useContentEntry();\n const { updateEntryLock, unlockEntry, fetchLockedEntryLockRecord, removeEntryLock } =\n useRecordLocking();\n\n const { navigateTo } = useContentEntriesList();\n\n const subscription = useRef<IWebsocketsSubscription<any>>();\n\n const websockets = useWebsockets();\n\n const { showDialog } = useDialogs();\n\n useEffect(() => {\n if (!entry.id) {\n return;\n } else if (subscription.current) {\n subscription.current.off();\n }\n const { id: entryId } = parseIdentifier(entry.id);\n\n subscription.current = websockets.onMessage<IKickOutWebsocketsMessage>(\n `recordLocking.entry.kickOut.${entryId}`,\n async incoming => {\n const { user } = incoming.data;\n const record: IIsRecordLockedParams = {\n id: entryId,\n $lockingType: model.modelId\n };\n removeEntryLock(record);\n onDisablePrompt(true);\n showDialog({\n title: \"Entry was forcefully unlocked!\",\n content: <ForceUnlocked user={user} />,\n acceptLabel: \"Ok\",\n onClose: undefined,\n cancelLabel: undefined\n });\n navigateTo();\n }\n );\n\n return () => {\n if (!subscription.current) {\n return;\n }\n subscription.current.off();\n };\n }, [entry.id, navigateTo, model.modelId]);\n\n useEffect(() => {\n if (!entry.id) {\n return;\n }\n\n const record: IIsRecordLockedParams = {\n id: entry.id,\n $lockingType: model.modelId\n };\n updateEntryLock(record);\n\n return () => {\n (async () => {\n const result = await fetchLockedEntryLockRecord(record);\n if (result) {\n return;\n }\n unlockEntry(record);\n })();\n };\n }, [entry.id]);\n\n return <>{children}</>;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_appHeadlessCms","require","_react","_interopRequireWildcard","_hooks","_appWebsockets","_utils","_appAdmin","_EMOTION_STRINGIFIED_CSS_ERROR__","Bold","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","ForceUnlocked","_ref","user","createElement","Fragment","displayName","ContentEntryLocker","exports","_ref2","onDisablePrompt","children","_useContentEntry","useContentEntry","entry","model","contentModel","_useRecordLocking","useRecordLocking","updateEntryLock","unlockEntry","fetchLockedEntryLockRecord","removeEntryLock","_useContentEntriesLis","useContentEntriesList","navigateTo","subscription","useRef","websockets","useWebsockets","_useDialogs","useDialogs","showDialog","useEffect","id","current","off","_parseIdentifier","parseIdentifier","entryId","onMessage","concat","incoming","data","record","$lockingType","modelId","title","content","acceptLabel","onClose","undefined","cancelLabel","result"],"sources":["ContentEntryLocker.tsx"],"sourcesContent":["import { useContentEntriesList, useContentEntry } from \"@webiny/app-headless-cms\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useRecordLocking } from \"~/hooks\";\nimport { IIsRecordLockedParams, IRecordLockingIdentity, IRecordLockingLockRecord } from \"~/types\";\nimport {\n IncomingGenericData,\n IWebsocketsSubscription,\n useWebsockets\n} from \"@webiny/app-websockets\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport styled from \"@emotion/styled\";\n\nconst Bold = styled.span`\n font-weight: 600;\n`;\n\nexport interface IContentEntryLockerProps {\n onDisablePrompt: (flag: boolean) => void;\n children: React.ReactElement;\n}\n\nexport interface IKickOutWebsocketsMessage extends IncomingGenericData {\n data: {\n record: IRecordLockingLockRecord;\n user: IRecordLockingIdentity;\n };\n}\ninterface IForceUnlockedProps {\n user: IRecordLockingIdentity;\n}\nconst ForceUnlocked = ({ user }: IForceUnlockedProps) => {\n return (\n <>\n The entry you were editing was forcefully unlocked by{\" \"}\n <Bold>{user.displayName || \"Unknown user\"}</Bold>. Unfortunately, this means you lost\n the unsaved changes.\n </>\n );\n};\n\nexport const ContentEntryLocker = ({ onDisablePrompt, children }: IContentEntryLockerProps) => {\n const { entry, contentModel: model } = useContentEntry();\n const { updateEntryLock, unlockEntry, fetchLockedEntryLockRecord, removeEntryLock } =\n useRecordLocking();\n\n const { navigateTo } = useContentEntriesList();\n\n const subscription = useRef<IWebsocketsSubscription<any>>();\n\n const websockets = useWebsockets();\n\n const { showDialog } = useDialogs();\n\n useEffect(() => {\n if (!entry.id) {\n return;\n } else if (subscription.current) {\n subscription.current.off();\n }\n const { id: entryId } = parseIdentifier(entry.id);\n\n subscription.current = websockets.onMessage<IKickOutWebsocketsMessage>(\n `recordLocking.entry.kickOut.${entryId}`,\n async incoming => {\n const { user } = incoming.data;\n const record: IIsRecordLockedParams = {\n id: entryId,\n $lockingType: model.modelId\n };\n removeEntryLock(record);\n onDisablePrompt(true);\n showDialog({\n title: \"Entry was forcefully unlocked!\",\n content: <ForceUnlocked user={user} />,\n acceptLabel: \"Ok\",\n onClose: undefined,\n cancelLabel: undefined\n });\n navigateTo();\n }\n );\n\n return () => {\n if (!subscription.current) {\n return;\n }\n subscription.current.off();\n };\n }, [entry.id, navigateTo, model.modelId]);\n\n useEffect(() => {\n if (!entry.id) {\n return;\n }\n\n const record: IIsRecordLockedParams = {\n id: entry.id,\n $lockingType: model.modelId\n };\n updateEntryLock(record);\n\n return () => {\n (async () => {\n const result = await fetchLockedEntryLockRecord(record);\n if (result) {\n return;\n }\n unlockEntry(record);\n })();\n };\n }, [entry.id]);\n\n return <>{children}</>;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-record-locking",
3
- "version": "5.40.0-beta.3",
3
+ "version": "5.40.0-beta.4",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,16 +16,16 @@
16
16
  "@apollo/react-hooks": "3.1.5",
17
17
  "@emotion/styled": "11.10.6",
18
18
  "@material-design-icons/svg": "0.14.13",
19
- "@webiny/app": "5.40.0-beta.3",
20
- "@webiny/app-admin": "5.40.0-beta.3",
21
- "@webiny/app-headless-cms": "5.40.0-beta.3",
22
- "@webiny/app-security": "5.40.0-beta.3",
23
- "@webiny/app-wcp": "5.40.0-beta.3",
24
- "@webiny/app-websockets": "5.40.0-beta.3",
25
- "@webiny/error": "5.40.0-beta.3",
26
- "@webiny/react-router": "5.40.0-beta.3",
27
- "@webiny/ui": "5.40.0-beta.3",
28
- "@webiny/utils": "5.40.0-beta.3",
19
+ "@webiny/app": "5.40.0-beta.4",
20
+ "@webiny/app-admin": "5.40.0-beta.4",
21
+ "@webiny/app-headless-cms": "5.40.0-beta.4",
22
+ "@webiny/app-security": "5.40.0-beta.4",
23
+ "@webiny/app-wcp": "5.40.0-beta.4",
24
+ "@webiny/app-websockets": "5.40.0-beta.4",
25
+ "@webiny/error": "5.40.0-beta.4",
26
+ "@webiny/react-router": "5.40.0-beta.4",
27
+ "@webiny/ui": "5.40.0-beta.4",
28
+ "@webiny/utils": "5.40.0-beta.4",
29
29
  "apollo-client": "2.6.10",
30
30
  "apollo-link": "1.2.14",
31
31
  "crypto-hash": "3.0.0",
@@ -40,8 +40,8 @@
40
40
  "@babel/preset-env": "7.24.3",
41
41
  "@babel/preset-react": "7.24.1",
42
42
  "@babel/preset-typescript": "7.24.1",
43
- "@webiny/cli": "5.40.0-beta.3",
44
- "@webiny/project-utils": "5.40.0-beta.3",
43
+ "@webiny/cli": "5.40.0-beta.4",
44
+ "@webiny/project-utils": "5.40.0-beta.4",
45
45
  "rimraf": "5.0.5",
46
46
  "ttypescript": "1.5.15",
47
47
  "typescript": "4.7.4"
@@ -54,5 +54,5 @@
54
54
  "build": "yarn webiny run build",
55
55
  "watch": "yarn webiny run watch"
56
56
  },
57
- "gitHead": "638d8b84063906cd1aa979ed6e0487ad26fbcf2f"
57
+ "gitHead": "42f3b1c985d6f8317d5c1084838b43a270c79f01"
58
58
  }