All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.AttributesGroupDetails-e8812470.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"AttributesGroupDetails-e8812470.js","sources":["../../src/realm-settings/user-profile/AttributesGroupForm.tsx","../../src/realm-settings/user-profile/AttributesGroupDetails.tsx"],"sourcesContent":["import type { UserProfileGroup } from \"@keycloak/keycloak-admin-client/lib/defs/userProfileConfig\";\nimport {\n  ActionGroup,\n  Button,\n  FormGroup,\n  PageSection,\n  Text,\n  TextContent,\n} from \"@patternfly/react-core\";\nimport { useEffect, useMemo } from \"react\";\nimport { FormProvider, SubmitHandler, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate, useParams } from \"react-router-dom\";\n\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { HelpItem } from \"ui-shared\";\nimport type { KeyValueType } from \"../../components/key-value-form/key-value-convert\";\nimport { KeyValueInput } from \"../../components/key-value-form/KeyValueInput\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport type { EditAttributesGroupParams } from \"../routes/EditAttributesGroup\";\nimport { toUserProfile } from \"../routes/UserProfile\";\nimport { useUserProfile } from \"./UserProfileContext\";\n\nimport \"../realm-settings-section.css\";\n\nfunction parseAnnotations(input: Record): KeyValueType[] {\n  return Object.entries(input).reduce((p, [key, value]) => {\n    if (typeof value === \"string\") {\n      return [...p, { key, value }];\n    } else {\n      return [...p];\n    }\n  }, [] as KeyValueType[]);\n}\n\nfunction transformAnnotations(input: KeyValueType[]): Record {\n  return Object.fromEntries(\n    input\n      .filter((annotation) => annotation.key.length > 0)\n      .map((annotation) => [annotation.key, annotation.value] as const)\n  );\n}\n\ntype FormFields = Required> & {\n  annotations: KeyValueType[];\n};\n\nconst defaultValues: FormFields = {\n  annotations: [{ key: \"\", value: \"\" }],\n  displayDescription: \"\",\n  displayHeader: \"\",\n  name: \"\",\n};\n\nexport default function AttributesGroupForm() {\n  const { t } = useTranslation();\n  const { realm } = useRealm();\n  const { config, save } = useUserProfile();\n  const navigate = useNavigate();\n  const params = useParams();\n  const form = useForm({ defaultValues });\n\n  const matchingGroup = useMemo(\n    () => config?.groups?.find(({ name }) => name === params.name),\n    [config?.groups]\n  );\n\n  useEffect(() => {\n    if (!matchingGroup) {\n      return;\n    }\n\n    const annotations = matchingGroup.annotations\n      ? parseAnnotations(matchingGroup.annotations)\n      : [];\n\n    form.reset({ ...defaultValues, ...matchingGroup, annotations });\n  }, [matchingGroup]);\n\n  const onSubmit: SubmitHandler = async (values) => {\n    if (!config) {\n      return;\n    }\n\n    const groups = [...(config.groups ?? [])];\n    const updateAt = matchingGroup ? groups.indexOf(matchingGroup) : -1;\n    const updatedGroup: UserProfileGroup = {\n      ...values,\n      annotations: transformAnnotations(values.annotations),\n    };\n\n    if (updateAt === -1) {\n      groups.push(updatedGroup);\n    } else {\n      groups[updateAt] = updatedGroup;\n    }\n\n    const success = await save({ ...config, groups });\n\n    if (success) {\n      navigate(toUserProfile({ realm, tab: \"attributes-group\" }));\n    }\n  };\n\n  return (\n    <>\n      \n      \n        \n          \n            }\n          >\n            \n            {!!matchingGroup && (\n              \n            )}\n          \n          \n            }\n          >\n            \n          \n          \n            }\n          >\n            \n          \n          \n            {t(\"realm-settings:annotationsText\")}\n          \n          \n            \n              \n            \n          \n          \n            \n             (\n                \n              )}\n            >\n              {t(\"common:cancel\")}\n            \n          \n        \n      \n    \n  );\n}\n","import AttributesGroupForm from \"./AttributesGroupForm\";\nimport { UserProfileProvider } from \"./UserProfileContext\";\n\nconst AttributesGroupDetails = () => (\n  \n    \n  \n);\n\nexport default AttributesGroupDetails;\n"],"names":["parseAnnotations","input","p","key","value","transformAnnotations","annotation","defaultValues","AttributesGroupForm","useTranslation","realm","useRealm","config","save","useUserProfile","navigate","useNavigate","params","useParams","form","useForm","matchingGroup","useMemo","name","useEffect","annotations","onSubmit","values","groups","updateAt","updatedGroup","toUserProfile","jsxs","Fragment","jsx","ViewHeader","PageSection","FormAccess","FormGroup","HelpItem","KeycloakTextInput","TextContent","Text","FormProvider","KeyValueInput","ActionGroup","Button","props","Link","AttributesGroupDetails","UserProfileProvider"],"mappings":"k5BA2BA,SAASA,EAAiBC,EAAgD,CACjE,OAAA,OAAO,QAAQA,CAAK,EAAE,OAAO,CAACC,EAAG,CAACC,EAAKC,CAAK,IAC7C,OAAOA,GAAU,SACZ,CAAC,GAAGF,EAAG,CAAE,IAAAC,EAAK,MAAAC,CAAO,CAAA,EAErB,CAAC,GAAGF,CAAC,EAEb,CAAoB,CAAA,CACzB,CAEA,SAASG,EAAqBJ,EAAgD,CAC5E,OAAO,OAAO,YACZA,EACG,OAAQK,GAAeA,EAAW,IAAI,OAAS,CAAC,EAChD,IAAKA,GAAe,CAACA,EAAW,IAAKA,EAAW,KAAK,CAAU,CAAA,CAEtE,CAMA,MAAMC,EAA4B,CAChC,YAAa,CAAC,CAAE,IAAK,GAAI,MAAO,GAAI,EACpC,mBAAoB,GACpB,cAAe,GACf,KAAM,EACR,EAEA,SAAwBC,GAAsB,CACtC,KAAA,CAAE,GAAMC,IACR,CAAE,MAAAC,GAAUC,IACZ,CAAE,OAAAC,EAAQ,KAAAC,CAAK,EAAIC,EAAe,EAClCC,EAAWC,IACXC,EAASC,IACTC,EAAOC,EAAoB,CAAE,cAAAb,CAAe,CAAA,EAE5Cc,EAAgBC,EAAA,QACpB,IAAMV,GAAQ,QAAQ,KAAK,CAAC,CAAE,KAAAW,KAAWA,IAASN,EAAO,IAAI,EAC7D,CAACL,GAAQ,MAAM,CAAA,EAGjBY,EAAAA,UAAU,IAAM,CACd,GAAI,CAACH,EACH,OAGF,MAAMI,EAAcJ,EAAc,YAC9BrB,EAAiBqB,EAAc,WAAW,EAC1C,GAEJF,EAAK,MAAM,CAAE,GAAGZ,EAAe,GAAGc,EAAe,YAAAI,EAAa,CAAA,EAC7D,CAACJ,CAAa,CAAC,EAEZ,MAAAK,EAAsC,MAAOC,GAAW,CAC5D,GAAI,CAACf,EACH,OAGF,MAAMgB,EAAS,CAAC,GAAIhB,EAAO,QAAU,CAAG,CAAA,EAClCiB,EAAWR,EAAgBO,EAAO,QAAQP,CAAa,EAAI,GAC3DS,EAAiC,CACrC,GAAGH,EACH,YAAatB,EAAqBsB,EAAO,WAAW,CAAA,EAGlDE,IAAa,GACfD,EAAO,KAAKE,CAAY,EAExBF,EAAOC,CAAQ,EAAIC,EAGL,MAAMjB,EAAK,CAAE,GAAGD,EAAQ,OAAAgB,EAAQ,GAG9Cb,EAASgB,EAAc,CAAE,MAAArB,EAAO,IAAK,kBAAoB,CAAA,CAAC,CAC5D,EAGF,OAEIsB,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAC,EAAA,IAACC,EAAA,CACC,SACEd,EACI,+BACA,iCAEN,QAAO,EAAA,CACT,EACCa,EAAA,IAAAE,EAAA,CAAY,QAAQ,QAAQ,SAAUjB,EAAK,aAAaO,CAAQ,EAC/D,SAACM,EAAAA,KAAAK,EAAA,CAAW,aAAY,GAAC,KAAK,eAC5B,SAAA,CAAAL,EAAA,KAACM,EAAA,CACC,MAAO,EAAE,0BAA0B,EACnC,QAAQ,UACR,WAAU,GACV,kBAAmB,EAAE,iBAAiB,EACtC,UAAWnB,EAAK,UAAU,OAAO,KAAO,QAAU,UAClD,UACEe,EAAA,IAACK,EAAA,CACC,SAAU,EAAE,yBAAyB,EACrC,aAAa,0BAAA,CACf,EAGF,SAAA,CAAAL,EAAA,IAACM,EAAA,CACC,GAAG,UACH,WAAY,CAAC,CAACnB,EACb,GAAGF,EAAK,SAAS,OAAQ,CAAE,SAAU,GAAM,CAAA,CAC9C,EACC,CAAC,CAACE,GACAa,MAAA,QAAA,CAAM,KAAK,SAAU,GAAGf,EAAK,SAAS,MAAM,CAAG,CAAA,CAAA,CAAA,CAEpD,EACAe,EAAA,IAACI,EAAA,CACC,MAAO,EAAE,mCAAmC,EAC5C,QAAQ,oBACR,UACEJ,EAAA,IAACK,EAAA,CACC,SAAU,EAAE,kCAAkC,EAC9C,aAAa,mCAAA,CACf,EAGF,SAAAL,EAAA,IAACM,EAAA,CACC,GAAG,oBACF,GAAGrB,EAAK,SAAS,eAAe,CAAA,CACnC,CAAA,CACF,EACAe,EAAA,IAACI,EAAA,CACC,MAAO,EAAE,wCAAwC,EACjD,QAAQ,yBACR,UACEJ,EAAA,IAACK,EAAA,CACC,SAAU,EAAE,uCAAuC,EACnD,aAAa,wCAAA,CACf,EAGF,SAAAL,EAAA,IAACM,EAAA,CACC,GAAG,yBACF,GAAGrB,EAAK,SAAS,oBAAoB,CAAA,CACxC,CAAA,CACF,EACAe,EAAAA,IAACO,GACC,SAACP,EAAAA,IAAAQ,EAAA,CAAK,UAAU,KAAM,SAAA,EAAE,gCAAgC,CAAA,CAAE,CAC5D,CAAA,EACAR,EAAA,IAACI,EAAA,CACC,MAAO,EAAE,gCAAgC,EACzC,QAAQ,iBAER,SAAAJ,EAAA,IAACS,GAAc,GAAGxB,EAChB,eAACyB,EAAc,CAAA,KAAK,cAAc,CACpC,CAAA,CAAA,CACF,SACCC,EACC,CAAA,SAAA,CAAAX,EAAAA,IAACY,GAAO,QAAQ,UAAU,KAAK,SAC5B,SAAA,EAAE,aAAa,EAClB,EACAZ,EAAA,IAACY,EAAA,CACC,QAAQ,OACR,UAAYC,GACVb,EAAA,IAACc,EAAA,CACE,GAAGD,EACJ,GAAIhB,EAAc,CAAE,MAAArB,EAAO,IAAK,mBAAoB,CAAA,CACtD,EAGD,WAAE,eAAe,CAAA,CACpB,CAAA,EACF,CAAA,CAAA,CACF,CACF,CAAA,CACF,CAAA,CAAA,CAEJ,CCtMA,MAAMuC,GAAyB,IAC7Bf,EAAA,IAACgB,EACC,CAAA,SAAAhB,MAAC1B,IAAoB,CACvB,CAAA"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy