@things-factory/auth-ui 7.0.1-rc.10 → 7.0.1-rc.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../client/entries/auth/signup.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAG/F,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAI1C,IAAI,QAAQ;QACV,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,cAAc,CAAA;IACvB,CAAC;IAID,IAAI,UAAU;QACZ,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAEjD,gDAAgD;QAChD,yEAAyE;QAEzE,OAAO,IAAI,CAAA;;;;;kBAKG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;mBAC9B,IAAI;;;;;;;;kBAQL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;;mBAE/B,KAAK;;mBAEL,CAAC,CAAQ,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAA;YAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;;;;;;;;kBAQO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;qBAChC,IAAI,CAAC,eAAe,IAAI,EAAE;mBAC5B,IAAI,CAAC,YAAY,IAAI,EAAE;;;mBAGvB,CAAC,CAAC,EAAE;YACX,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3F,CAAC;;;;;;;;;;kBAUO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;;;;;;qDAMR,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC3C,IAAI,CAAC,QAAQ;;KAExC,CAAA;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;QACnF,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAA;;;;KAIV,CAAA;IACH,CAAC;CACF,CAAA;AAnF6B;IAA3B,KAAK,CAAC,mBAAmB,CAAC;8BAAe,gBAAgB;+CAAA;AAZ/C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA+FtB","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractSign } from '../../components/abstract-sign'\nimport { generatePasswordPatternHelp, generatePasswordPatternRegExp } from '../../utils/password-rule'\n\n@customElement('auth-signup')\nexport class AuthSignup extends AbstractSign {\n private passwordPattern?: string\n private passwordHelp?: string\n\n get pageName() {\n return 'sign up'\n }\n\n get actionUrl() {\n return '/auth/signup'\n }\n\n @query('#confirm-password') confirmPass!: HTMLInputElement\n\n get formfields() {\n const { name = '', email = '' } = this.data || {}\n\n // .validationMessage=${this.passwordHelp || ''}\n // .validationMessage=${String(i18next.t('text.passwords do not match'))}\n\n return html`\n <div class=\"field\">\n <md-filled-text-field\n name=\"name\"\n type=\"text\"\n label=${String(i18next.t('field.name'))}\n .value=${name}\n required\n ></md-filled-text-field>\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('field.email'))}\n required\n .value=${email}\n autocapitalize=\"off\"\n @input=${(e: Event) => {\n const target = e.target as HTMLInputElement\n if (target.validity.typeMismatch) {\n target.setCustomValidity(i18next.t('text.invalid-email'))\n } else {\n target.setCustomValidity('')\n }\n }}\n ><md-icon slot=\"leading-icon\">mail</md-icon></md-filled-text-field\n >\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"password\"\n type=\"password\"\n label=${String(i18next.t('field.password'))}\n .pattern=${this.passwordPattern || ''}\n helper=${this.passwordHelp || ''}\n helperPersistent\n required\n @input=${e => {\n var val = e.target.value\n this.confirmPass.setAttribute('pattern', val.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '[$&]'))\n }}\n >\n ></md-filled-text-field\n >\n </div>\n <div class=\"field\">\n <md-filled-text-field\n id=\"confirm-password\"\n name=\"confirm-password\"\n type=\"password\"\n label=${String(i18next.t('field.confirm password'))}\n required\n >\n ></md-filled-text-field\n >\n </div>\n <md-elevated-button class=\"ui button\" @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"field.${this.pageName}\"></ox-i18n>\n </md-elevated-button>\n `\n }\n\n languageUpdated() {\n this.passwordPattern = generatePasswordPatternRegExp(this.data.passwordRule).source\n this.passwordHelp = generatePasswordPatternHelp(this.data.passwordRule)\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <md-text-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></md-text-button>\n </a>\n `\n }\n}\n"]}
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../client/entries/auth/signup.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAG/F,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAI1C,IAAI,QAAQ;QACV,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,cAAc,CAAA;IACvB,CAAC;IAID,IAAI,UAAU;QACZ,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAEjD,gDAAgD;QAChD,yEAAyE;QAEzE,OAAO,IAAI,CAAA;;;;;kBAKG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;mBAC9B,IAAI;;;;;;;;kBAQL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;;mBAE/B,KAAK;;;mBAGL,CAAC,CAAQ,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAA;YAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;;;;;;;;kBAQO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;qBAChC,IAAI,CAAC,eAAe,IAAI,EAAE;mBAC5B,IAAI,CAAC,YAAY,IAAI,EAAE;;;;mBAIvB,CAAC,CAAC,EAAE;YACX,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3F,CAAC;;;;;;;;;;;kBAWO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;;;;;;qDAMR,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC3C,IAAI,CAAC,QAAQ;;KAExC,CAAA;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;QACnF,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAA;;;;KAIV,CAAA;IACH,CAAC;CACF,CAAA;AAtF6B;IAA3B,KAAK,CAAC,mBAAmB,CAAC;8BAAe,gBAAgB;+CAAA;AAZ/C,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAkGtB","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement, query } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\n\nimport { AbstractSign } from '../../components/abstract-sign'\nimport { generatePasswordPatternHelp, generatePasswordPatternRegExp } from '../../utils/password-rule'\n\n@customElement('auth-signup')\nexport class AuthSignup extends AbstractSign {\n private passwordPattern?: string\n private passwordHelp?: string\n\n get pageName() {\n return 'sign up'\n }\n\n get actionUrl() {\n return '/auth/signup'\n }\n\n @query('#confirm-password') confirmPass!: HTMLInputElement\n\n get formfields() {\n const { name = '', email = '' } = this.data || {}\n\n // .validationMessage=${this.passwordHelp || ''}\n // .validationMessage=${String(i18next.t('text.passwords do not match'))}\n\n return html`\n <div class=\"field\">\n <md-filled-text-field\n name=\"name\"\n type=\"text\"\n label=${String(i18next.t('field.name'))}\n .value=${name}\n required\n ></md-filled-text-field>\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"email\"\n type=\"email\"\n label=${String(i18next.t('field.email'))}\n required\n .value=${email}\n autocapitalize=\"off\"\n autocomplete=\"off\"\n @input=${(e: Event) => {\n const target = e.target as HTMLInputElement\n if (target.validity.typeMismatch) {\n target.setCustomValidity(i18next.t('text.invalid-email'))\n } else {\n target.setCustomValidity('')\n }\n }}\n ><md-icon slot=\"leading-icon\">mail</md-icon></md-filled-text-field\n >\n </div>\n <div class=\"field\">\n <md-filled-text-field\n name=\"password\"\n type=\"password\"\n label=${String(i18next.t('field.password'))}\n .pattern=${this.passwordPattern || ''}\n helper=${this.passwordHelp || ''}\n helperPersistent\n required\n autocomplete=\"off\"\n @input=${e => {\n var val = e.target.value\n this.confirmPass.setAttribute('pattern', val.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '[$&]'))\n }}\n >\n ></md-filled-text-field\n >\n </div>\n <div class=\"field\">\n <md-filled-text-field\n id=\"confirm-password\"\n name=\"confirm-password\"\n type=\"password\"\n autocomplete=\"off\"\n label=${String(i18next.t('field.confirm password'))}\n required\n >\n ></md-filled-text-field\n >\n </div>\n <md-elevated-button class=\"ui button\" @click=${e => this._onSubmit(e)}>\n <ox-i18n msgid=\"field.${this.pageName}\"></ox-i18n>\n </md-elevated-button>\n `\n }\n\n languageUpdated() {\n this.passwordPattern = generatePasswordPatternRegExp(this.data.passwordRule).source\n this.passwordHelp = generatePasswordPatternHelp(this.data.passwordRule)\n }\n\n get links() {\n return html`\n <a class=\"link\" href=\"/auth/signin\">\n <md-text-button><ox-i18n msgid=\"field.sign in\"></ox-i18n></md-text-button>\n </a>\n `\n }\n}\n"]}
@@ -9,7 +9,7 @@ import { customElement, property, query } from 'lit/decorators.js';
9
9
  import { connect } from 'pwa-helpers/connect-mixin.js';
10
10
  import { client, gqlContext } from '@operato/graphql';
11
11
  import { i18next } from '@operato/i18n';
12
- import { PageView, store } from '@operato/shell';
12
+ import { InheritedValueType, PageView, store } from '@operato/shell';
13
13
  let RoleManagement = class RoleManagement extends connect(store)(PageView) {
14
14
  constructor() {
15
15
  super(...arguments);
@@ -64,8 +64,8 @@ let RoleManagement = class RoleManagement extends connect(store)(PageView) {
64
64
  async fetchRoles() {
65
65
  const response = await client.query({
66
66
  query: gql `
67
- query roles($sortings: [Sorting!]) {
68
- roles(sortings: $sortings) {
67
+ query roles($sortings: [Sorting!], $inherited: InheritedValueType) {
68
+ roles(sortings: $sortings, inherited: $inherited) {
69
69
  items {
70
70
  id
71
71
  name
@@ -79,7 +79,10 @@ let RoleManagement = class RoleManagement extends connect(store)(PageView) {
79
79
  }
80
80
  }
81
81
  `,
82
- variables: { sortings: [{ name: 'name' }] },
82
+ variables: {
83
+ sortings: [{ name: 'name' }],
84
+ inherited: InheritedValueType.Only
85
+ },
83
86
  context: gqlContext()
84
87
  });
85
88
  return response.data.roles.items;
@@ -1 +1 @@
1
- {"version":3,"file":"role-management.js","sourceRoot":"","sources":["../../../client/pages/role/role-management.ts"],"names":[],"mappings":"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","sourcesContent":["import '@things-factory/component-ui'\nimport '../../components/create-role'\nimport '../../components/role-edit-form'\nimport '../../components/role-privilege-editor'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { client, gqlContext } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { PageView, store } from '@operato/shell'\n\n@customElement('role-management')\nclass RoleManagement extends connect(store)(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--md-sys-color-background);\n padding: var(--padding-wide);\n overflow: auto;\n }\n\n [subtitle] {\n padding: var(--subtitle-padding);\n font: var(--subtitle-font);\n color: var(--subtitle-text-color);\n }\n\n input {\n display: block;\n }\n\n #roles-privileges {\n flex: 1;\n display: flex;\n margin-top: var(--margin-default);\n max-width: var(--content-container-max-width);\n flex-direction: row;\n overflow: auto;\n border-top: var(--border-dim-color);\n }\n `\n ]\n\n @property({ type: String }) title: string = ''\n @property({ type: Object }) role: any\n @property({ type: Array }) roles: any[] = []\n @property({ type: Object }) updateRoleObj: any\n\n get context() {\n return {\n title: i18next.t('text.role_management'),\n help: 'auth/roles'\n }\n }\n\n render() {\n const data = {\n roles: this.roles || []\n }\n\n return html`\n <create-role\n @fetch-roles=${async () => {\n this.roles = await this.fetchRoles()\n }}\n ></create-role>\n\n <div subtitle>${i18next.t('text.registered roles')}</div>\n <div id=\"roles-privileges\">\n <quick-find-list\n .data=\"${data}\"\n .openHeaderRenderer=${role => html`\n <role-edit-form .role=\"${role}\" @roleChanged=\"${e => (this.updateRoleObj = e.detail)}\"></role-edit-form>\n `}\n .contentRenderer=\"${(role, _currentTabKey) => html`\n <role-privilege-editor\n .updateRoleObj=${this.updateRoleObj || {}}\n .role=${role}\n @fetch-roles=${async () => {\n this.roles = await this.fetchRoles()\n await this.updateComplete\n this.quickFindList.openByKey(role.id)\n }}\n ></role-privilege-editor>\n `}\"\n ></quick-find-list>\n </div>\n `\n }\n\n @query('quick-find-list') quickFindList!: HTMLElement & { openByKey: (roleId: string) => void }\n\n async pageUpdated(changes, lifecycle, before) {\n if (this.active) {\n this.roles = await this.fetchRoles()\n this.role = this.roles && this.roles[0]\n }\n }\n\n async fetchRoles() {\n const response = await client.query({\n query: gql`\n query roles($sortings: [Sorting!]) {\n roles(sortings: $sortings) {\n items {\n id\n name\n description\n privileges {\n id\n name\n }\n }\n total\n }\n }\n `,\n variables: { sortings: [{ name: 'name' }] },\n context: gqlContext()\n })\n\n return response.data.roles.items\n }\n}\n"]}
1
+ {"version":3,"file":"role-management.js","sourceRoot":"","sources":["../../../client/pages/role/role-management.ts"],"names":[],"mappings":"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","sourcesContent":["import '@things-factory/component-ui'\nimport '../../components/create-role'\nimport '../../components/role-edit-form'\nimport '../../components/role-privilege-editor'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { client, gqlContext } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { InheritedValueType, PageView, store } from '@operato/shell'\n\n@customElement('role-management')\nclass RoleManagement extends connect(store)(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--md-sys-color-background);\n padding: var(--padding-wide);\n overflow: auto;\n }\n\n [subtitle] {\n padding: var(--subtitle-padding);\n font: var(--subtitle-font);\n color: var(--subtitle-text-color);\n }\n\n input {\n display: block;\n }\n\n #roles-privileges {\n flex: 1;\n display: flex;\n margin-top: var(--margin-default);\n max-width: var(--content-container-max-width);\n flex-direction: row;\n overflow: auto;\n border-top: var(--border-dim-color);\n }\n `\n ]\n\n @property({ type: String }) title: string = ''\n @property({ type: Object }) role: any\n @property({ type: Array }) roles: any[] = []\n @property({ type: Object }) updateRoleObj: any\n\n get context() {\n return {\n title: i18next.t('text.role_management'),\n help: 'auth/roles'\n }\n }\n\n render() {\n const data = {\n roles: this.roles || []\n }\n\n return html`\n <create-role\n @fetch-roles=${async () => {\n this.roles = await this.fetchRoles()\n }}\n ></create-role>\n\n <div subtitle>${i18next.t('text.registered roles')}</div>\n <div id=\"roles-privileges\">\n <quick-find-list\n .data=\"${data}\"\n .openHeaderRenderer=${role => html`\n <role-edit-form .role=\"${role}\" @roleChanged=\"${e => (this.updateRoleObj = e.detail)}\"></role-edit-form>\n `}\n .contentRenderer=\"${(role, _currentTabKey) => html`\n <role-privilege-editor\n .updateRoleObj=${this.updateRoleObj || {}}\n .role=${role}\n @fetch-roles=${async () => {\n this.roles = await this.fetchRoles()\n await this.updateComplete\n this.quickFindList.openByKey(role.id)\n }}\n ></role-privilege-editor>\n `}\"\n ></quick-find-list>\n </div>\n `\n }\n\n @query('quick-find-list') quickFindList!: HTMLElement & { openByKey: (roleId: string) => void }\n\n async pageUpdated(changes, lifecycle, before) {\n if (this.active) {\n this.roles = await this.fetchRoles()\n this.role = this.roles && this.roles[0]\n }\n }\n\n async fetchRoles() {\n const response = await client.query({\n query: gql`\n query roles($sortings: [Sorting!], $inherited: InheritedValueType) {\n roles(sortings: $sortings, inherited: $inherited) {\n items {\n id\n name\n description\n privileges {\n id\n name\n }\n }\n total\n }\n }\n `,\n variables: { \n sortings: [{ name: 'name' }],\n inherited: InheritedValueType.Only\n },\n context: gqlContext()\n })\n\n return response.data.roles.items\n }\n}\n"]}