@pnp/spfx-controls-react 1.21.1 → 1.21.5
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/CHANGELOG.JSON +43 -0
- package/CHANGELOG.md +35 -0
- package/lib/common/telemetry/version.js +1 -1
- package/lib/common/telemetry/version.js.map +1 -1
- package/lib/common/utilities/LocalesHelper.d.ts +5 -0
- package/lib/common/utilities/LocalesHelper.js +76 -0
- package/lib/common/utilities/LocalesHelper.js.map +1 -0
- package/lib/common/utilities/index.d.ts +1 -0
- package/lib/common/utilities/index.js +1 -0
- package/lib/common/utilities/index.js.map +1 -1
- package/lib/controls/accordion/Accordion.module.css +1 -1
- package/lib/controls/accordion/Accordion.module.scss.js +3 -3
- package/lib/controls/accordion/Accordion.module.scss.js.map +1 -1
- package/lib/controls/carousel/Carousel.module.css +1 -1
- package/lib/controls/carousel/Carousel.module.scss.js +35 -35
- package/lib/controls/carousel/Carousel.module.scss.js.map +1 -1
- package/lib/controls/chartControl/ChartControl.module.css +1 -1
- package/lib/controls/chartControl/ChartControl.module.scss.js +3 -3
- package/lib/controls/chartControl/ChartControl.module.scss.js.map +1 -1
- package/lib/controls/dateTimePicker/DateTimePicker.module.css +1 -1
- package/lib/controls/dateTimePicker/DateTimePicker.module.scss.js +10 -10
- package/lib/controls/dateTimePicker/DateTimePicker.module.scss.js.map +1 -1
- package/lib/controls/errorMessage/ErrorMessage.module.css +1 -1
- package/lib/controls/errorMessage/ErrorMessage.module.scss.js +2 -2
- package/lib/controls/errorMessage/ErrorMessage.module.scss.js.map +1 -1
- package/lib/controls/fieldCollectionData/FieldCollectionData.module.css +1 -1
- package/lib/controls/fieldCollectionData/FieldCollectionData.module.scss.js +18 -18
- package/lib/controls/fieldCollectionData/FieldCollectionData.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldAttachmentsRenderer/FieldAttachmentsRenderer.module.css +1 -1
- package/lib/controls/fields/fieldAttachmentsRenderer/FieldAttachmentsRenderer.module.scss.js +4 -4
- package/lib/controls/fields/fieldAttachmentsRenderer/FieldAttachmentsRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldBaseTextRenderer/FieldBaseTextRenderer.module.css +1 -1
- package/lib/controls/fields/fieldBaseTextRenderer/FieldBaseTextRenderer.module.scss.js +4 -4
- package/lib/controls/fields/fieldBaseTextRenderer/FieldBaseTextRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldCommon/FieldRenderer.module.css +1 -1
- package/lib/controls/fields/fieldCommon/FieldRenderer.module.scss.js +3 -3
- package/lib/controls/fields/fieldCommon/FieldRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldFileTypeRenderer/FieldFileTypeRenderer.module.css +1 -1
- package/lib/controls/fields/fieldFileTypeRenderer/FieldFileTypeRenderer.module.scss.js +5 -5
- package/lib/controls/fields/fieldFileTypeRenderer/FieldFileTypeRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldLookupRenderer/FieldLookupRenderer.module.css +1 -1
- package/lib/controls/fields/fieldLookupRenderer/FieldLookupRenderer.module.scss.js +5 -5
- package/lib/controls/fields/fieldLookupRenderer/FieldLookupRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldNameRenderer/FieldNameRenderer.module.css +1 -1
- package/lib/controls/fields/fieldNameRenderer/FieldNameRenderer.module.scss.js +9 -9
- package/lib/controls/fields/fieldNameRenderer/FieldNameRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldTaxonomyRenderer/FieldTaxonomyRenderer.module.css +1 -1
- package/lib/controls/fields/fieldTaxonomyRenderer/FieldTaxonomyRenderer.module.scss.js +4 -4
- package/lib/controls/fields/fieldTaxonomyRenderer/FieldTaxonomyRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.module.css +1 -1
- package/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.module.scss.js +6 -6
- package/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldUrlRenderer/FieldUrlRenderer.module.css +1 -1
- package/lib/controls/fields/fieldUrlRenderer/FieldUrlRenderer.module.scss.js +5 -5
- package/lib/controls/fields/fieldUrlRenderer/FieldUrlRenderer.module.scss.js.map +1 -1
- package/lib/controls/fields/fieldUserRenderer/FieldUserRenderer.module.css +1 -1
- package/lib/controls/fields/fieldUserRenderer/FieldUserRenderer.module.scss.js +13 -13
- package/lib/controls/fields/fieldUserRenderer/FieldUserRenderer.module.scss.js.map +1 -1
- package/lib/controls/filePicker/FilePicker.module.css +1 -1
- package/lib/controls/filePicker/FilePicker.module.scss.js +38 -38
- package/lib/controls/filePicker/FilePicker.module.scss.js.map +1 -1
- package/lib/controls/filePicker/LinkFilePickerTab/LinkFilePickerTab.module.css +1 -1
- package/lib/controls/filePicker/LinkFilePickerTab/LinkFilePickerTab.module.scss.js +41 -41
- package/lib/controls/filePicker/LinkFilePickerTab/LinkFilePickerTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/OneDriveFilesTab/OneDriveFilesTab.module.css +1 -1
- package/lib/controls/filePicker/OneDriveFilesTab/OneDriveFilesTab.module.scss.js +38 -38
- package/lib/controls/filePicker/OneDriveFilesTab/OneDriveFilesTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/RecentFilesTab/RecentFilesTab.module.css +1 -1
- package/lib/controls/filePicker/RecentFilesTab/RecentFilesTab.module.scss.js +59 -59
- package/lib/controls/filePicker/RecentFilesTab/RecentFilesTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/SiteFilePickerTab/SiteFilePickerTab.module.css +1 -1
- package/lib/controls/filePicker/SiteFilePickerTab/SiteFilePickerTab.module.scss.js +38 -38
- package/lib/controls/filePicker/SiteFilePickerTab/SiteFilePickerTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/StockImagesTab/StockImages.module.css +1 -1
- package/lib/controls/filePicker/StockImagesTab/StockImages.module.scss.js +40 -40
- package/lib/controls/filePicker/StockImagesTab/StockImages.module.scss.js.map +1 -1
- package/lib/controls/filePicker/UploadFilePickerTab/UploadFilePickerTab.module.css +1 -1
- package/lib/controls/filePicker/UploadFilePickerTab/UploadFilePickerTab.module.scss.js +43 -43
- package/lib/controls/filePicker/UploadFilePickerTab/UploadFilePickerTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/WebSearchTab/WebSearchTab.module.css +1 -1
- package/lib/controls/filePicker/WebSearchTab/WebSearchTab.module.scss.js +60 -60
- package/lib/controls/filePicker/WebSearchTab/WebSearchTab.module.scss.js.map +1 -1
- package/lib/controls/filePicker/controls/DocumentLibraryBrowser/DocumentLibraryBrowser.module.css +1 -1
- package/lib/controls/filePicker/controls/DocumentLibraryBrowser/DocumentLibraryBrowser.module.scss.js +7 -7
- package/lib/controls/filePicker/controls/DocumentLibraryBrowser/DocumentLibraryBrowser.module.scss.js.map +1 -1
- package/lib/controls/filePicker/controls/DocumentTile/DocumentTile.module.css +1 -1
- package/lib/controls/filePicker/controls/DocumentTile/DocumentTile.module.scss.js +80 -80
- package/lib/controls/filePicker/controls/DocumentTile/DocumentTile.module.scss.js.map +1 -1
- package/lib/controls/filePicker/controls/FileBrowser/FileBrowser.module.css +1 -1
- package/lib/controls/filePicker/controls/FileBrowser/FileBrowser.module.scss.js +38 -38
- package/lib/controls/filePicker/controls/FileBrowser/FileBrowser.module.scss.js.map +1 -1
- package/lib/controls/filePicker/controls/FolderTile/FolderTile.module.css +1 -1
- package/lib/controls/filePicker/controls/FolderTile/FolderTile.module.scss.js +76 -76
- package/lib/controls/filePicker/controls/FolderTile/FolderTile.module.scss.js.map +1 -1
- package/lib/controls/filePicker/controls/TilesList/TilesList.module.css +1 -1
- package/lib/controls/filePicker/controls/TilesList/TilesList.module.scss.js +70 -70
- package/lib/controls/filePicker/controls/TilesList/TilesList.module.scss.js.map +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/FolderExplorer.module.css +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/FolderExplorer.module.scss.js +5 -5
- package/lib/controls/folderExplorer/FolderExplorer/FolderExplorer.module.scss.js.map +1 -1
- package/lib/controls/folderExplorer/NewFolder/NewFolder.module.css +1 -1
- package/lib/controls/folderExplorer/NewFolder/NewFolder.module.scss.js +5 -5
- package/lib/controls/folderExplorer/NewFolder/NewFolder.module.scss.js.map +1 -1
- package/lib/controls/folderPicker/FolderPicker.module.css +1 -1
- package/lib/controls/folderPicker/FolderPicker.module.scss.js +7 -7
- package/lib/controls/folderPicker/FolderPicker.module.scss.js.map +1 -1
- package/lib/controls/gridLayout/GridLayout.module.css +1 -1
- package/lib/controls/gridLayout/GridLayout.module.scss.js +2 -2
- package/lib/controls/gridLayout/GridLayout.module.scss.js.map +1 -1
- package/lib/controls/iFrameDialog/IFrameDialogContent.module.css +1 -1
- package/lib/controls/iFrameDialog/IFrameDialogContent.module.scss.js +2 -2
- package/lib/controls/iFrameDialog/IFrameDialogContent.module.scss.js.map +1 -1
- package/lib/controls/iFramePanel/IFramePanelContent.module.css +1 -1
- package/lib/controls/iFramePanel/IFramePanelContent.module.scss.js +2 -2
- package/lib/controls/iFramePanel/IFramePanelContent.module.scss.js.map +1 -1
- package/lib/controls/iconPicker/IconPicker.module.css +1 -1
- package/lib/controls/iconPicker/IconPicker.module.scss.js +21 -21
- package/lib/controls/iconPicker/IconPicker.module.scss.js.map +1 -1
- package/lib/controls/listItemAttachments/ListItemAttachments.module.css +1 -1
- package/lib/controls/listItemAttachments/ListItemAttachments.module.scss.js +6 -6
- package/lib/controls/listItemAttachments/ListItemAttachments.module.scss.js.map +1 -1
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.js +6 -3
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.js.map +1 -1
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.module.css +1 -0
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.module.scss.d.ts +5 -0
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.module.scss.js +12 -0
- package/lib/controls/listItemPicker/ComboBoxListItemPicker.module.scss.js.map +1 -0
- package/lib/controls/listItemPicker/IComboBoxListItemPickerProps.d.ts +1 -0
- package/lib/controls/listItemPicker/IListItemPickerProps.d.ts +1 -0
- package/lib/controls/listItemPicker/ListItemPicker.d.ts +1 -0
- package/lib/controls/listItemPicker/ListItemPicker.js +18 -13
- package/lib/controls/listItemPicker/ListItemPicker.js.map +1 -1
- package/lib/controls/listPicker/ListPicker.module.css +1 -1
- package/lib/controls/listPicker/ListPicker.module.scss.js +2 -2
- package/lib/controls/listPicker/ListPicker.module.scss.js.map +1 -1
- package/lib/controls/listView/ListView.DragDrop.module.css +1 -1
- package/lib/controls/listView/ListView.DragDrop.module.scss.js +3 -3
- package/lib/controls/listView/ListView.DragDrop.module.scss.js.map +1 -1
- package/lib/controls/listView/ListView.js.map +1 -1
- package/lib/controls/map/Maps.module.css +1 -1
- package/lib/controls/map/Maps.module.scss.js +6 -6
- package/lib/controls/map/Maps.module.scss.js.map +1 -1
- package/lib/controls/pagination/Pagination.module.css +1 -1
- package/lib/controls/pagination/Pagination.module.scss.js +2 -2
- package/lib/controls/pagination/Pagination.module.scss.js.map +1 -1
- package/lib/controls/peoplepicker/PeoplePickerComponent.module.css +1 -1
- package/lib/controls/peoplepicker/PeoplePickerComponent.module.scss.js +3 -3
- package/lib/controls/peoplepicker/PeoplePickerComponent.module.scss.js.map +1 -1
- package/lib/controls/placeholder/PlaceholderComponent.module.css +1 -1
- package/lib/controls/placeholder/PlaceholderComponent.module.scss.js +9 -9
- package/lib/controls/placeholder/PlaceholderComponent.module.scss.js.map +1 -1
- package/lib/controls/progress/Progress.module.css +1 -1
- package/lib/controls/progress/Progress.module.scss.js +19 -19
- package/lib/controls/progress/Progress.module.scss.js.map +1 -1
- package/lib/controls/richText/RichText.module.css +1 -1
- package/lib/controls/richText/RichText.module.scss.js +17 -17
- package/lib/controls/richText/RichText.module.scss.js.map +1 -1
- package/lib/controls/richText/RichTextPropertyPane.module.css +1 -1
- package/lib/controls/richText/RichTextPropertyPane.module.scss.js +8 -8
- package/lib/controls/richText/RichTextPropertyPane.module.scss.js.map +1 -1
- package/lib/controls/richText/RteColorPicker.module.css +1 -1
- package/lib/controls/richText/RteColorPicker.module.scss.js +17 -17
- package/lib/controls/richText/RteColorPicker.module.scss.js.map +1 -1
- package/lib/controls/siteBreadcrumb/SiteBreadcrumb.module.css +1 -1
- package/lib/controls/siteBreadcrumb/SiteBreadcrumb.module.scss.js +2 -2
- package/lib/controls/siteBreadcrumb/SiteBreadcrumb.module.scss.js.map +1 -1
- package/lib/controls/taxonomyPicker/ITaxonomyPicker.d.ts +14 -0
- package/lib/controls/taxonomyPicker/TaxonomyPicker.d.ts +1 -0
- package/lib/controls/taxonomyPicker/TaxonomyPicker.js +107 -23
- package/lib/controls/taxonomyPicker/TaxonomyPicker.js.map +1 -1
- package/lib/controls/taxonomyPicker/TaxonomyPicker.module.css +1 -1
- package/lib/controls/taxonomyPicker/TaxonomyPicker.module.scss.js +21 -21
- package/lib/controls/taxonomyPicker/TaxonomyPicker.module.scss.js.map +1 -1
- package/lib/controls/treeView/TreeView.module.css +1 -1
- package/lib/controls/treeView/TreeView.module.scss.js +17 -17
- package/lib/controls/treeView/TreeView.module.scss.js.map +1 -1
- package/lib/controls/webPartTitle/WebPartTitle.module.css +1 -1
- package/lib/controls/webPartTitle/WebPartTitle.module.scss.js +3 -3
- package/lib/controls/webPartTitle/WebPartTitle.module.scss.js.map +1 -1
- package/lib/loc/bg-bg.js +8 -30
- package/lib/loc/bg-bg.js.map +1 -1
- package/lib/loc/ca-es.js +10 -32
- package/lib/loc/ca-es.js.map +1 -1
- package/lib/loc/da-dk.js +11 -33
- package/lib/loc/da-dk.js.map +1 -1
- package/lib/loc/de-de.js +1 -23
- package/lib/loc/de-de.js.map +1 -1
- package/lib/loc/el-gr.js +7 -29
- package/lib/loc/el-gr.js.map +1 -1
- package/lib/loc/es-es.js +1 -23
- package/lib/loc/es-es.js.map +1 -1
- package/lib/loc/et-ee.js +8 -30
- package/lib/loc/et-ee.js.map +1 -1
- package/lib/loc/fi-fi.js +8 -30
- package/lib/loc/fi-fi.js.map +1 -1
- package/lib/loc/fr-fr.js +12 -34
- package/lib/loc/fr-fr.js.map +1 -1
- package/lib/loc/it-it.js +3 -25
- package/lib/loc/it-it.js.map +1 -1
- package/lib/loc/ja-jp.js +10 -32
- package/lib/loc/ja-jp.js.map +1 -1
- package/lib/loc/lt-lt.js +2 -24
- package/lib/loc/lt-lt.js.map +1 -1
- package/lib/loc/lv-lv.js +10 -32
- package/lib/loc/lv-lv.js.map +1 -1
- package/lib/loc/nb-no.js +9 -31
- package/lib/loc/nb-no.js.map +1 -1
- package/lib/loc/nl-nl.js +9 -31
- package/lib/loc/nl-nl.js.map +1 -1
- package/lib/loc/pl-pl.js +7 -29
- package/lib/loc/pl-pl.js.map +1 -1
- package/lib/loc/pt-pt.js +3 -25
- package/lib/loc/pt-pt.js.map +1 -1
- package/lib/loc/ro-ro.js +9 -31
- package/lib/loc/ro-ro.js.map +1 -1
- package/lib/loc/ru-ru.js +1 -23
- package/lib/loc/ru-ru.js.map +1 -1
- package/lib/loc/sk-sk.js +15 -37
- package/lib/loc/sk-sk.js.map +1 -1
- package/lib/loc/sr-latn-rs.js +3 -25
- package/lib/loc/sr-latn-rs.js.map +1 -1
- package/lib/loc/sv-se.js +11 -33
- package/lib/loc/sv-se.js.map +1 -1
- package/lib/loc/tr-tr.js +1 -23
- package/lib/loc/tr-tr.js.map +1 -1
- package/lib/loc/vi-vn.js +11 -33
- package/lib/loc/vi-vn.js.map +1 -1
- package/lib/loc/zh-cn.js +66 -88
- package/lib/loc/zh-cn.js.map +1 -1
- package/lib/loc/zh-tw.js +155 -177
- package/lib/loc/zh-tw.js.map +1 -1
- package/lib/services/SPTermStorePickerService.d.ts +3 -3
- package/lib/services/SPTermStorePickerService.js +46 -15
- package/lib/services/SPTermStorePickerService.js.map +1 -1
- package/package.json +4 -2
- package/sonar-project.properties +0 -3
package/lib/loc/zh-tw.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["loc/zh-tw.ts"],"names":[],"mappings":"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","file":"loc/zh-tw.js","sourcesContent":["declare var define: any;\n\ndefine([], () => {\n return {\n \"SiteBreadcrumbLabel\": \"網站痕跡\",\n \"ListViewGroupEmptyLabel\": \"空\",\n \"WebPartTitlePlaceholder\": \"Web 組件標題\",\n \"WebPartTitleLabel\": \"添加標題\",\n \"DateTime\": {\n \"L_RelativeDateTime_AFewSecondsFuture\": \"幾秒鐘內\",\n \"L_RelativeDateTime_AFewSeconds\": \"幾秒鐘前\",\n \"L_RelativeDateTime_AboutAMinuteFuture\": \"大約一分鐘後\",\n \"L_RelativeDateTime_AboutAMinute\": \"大約一分鐘前\",\n \"L_RelativeDateTime_XMinutesFuture\": \"{0}分鐘內*{0}分鐘內\",\n \"L_RelativeDateTime_XMinutes\": \"{0}分鐘前*{0}分鐘前\",\n \"L_RelativeDateTime_XMinutesFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XMinutesIntervals\": \"1*2-\",\n \"L_RelativeDateTime_AboutAnHourFuture\": \"大約一小時後\",\n \"L_RelativeDateTime_AboutAnHour\": \"大約一小時前\",\n \"L_RelativeDateTime_Tomorrow\": \"明天\",\n \"L_RelativeDateTime_Yesterday\": \"昨天\",\n \"L_RelativeDateTime_TomorrowAndTime\": \"明天在{0}\",\n \"L_RelativeDateTime_YesterdayAndTime\": \"昨天在{0}\",\n \"L_RelativeDateTime_XHoursFuture\": \"{0}小時內*{0}小時內\",\n \"L_RelativeDateTime_XHours\": \"{0}小時前*{0} 小時前\",\n \"L_RelativeDateTime_XHoursFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XHoursIntervals\": \"1*2-\",\n \"L_RelativeDateTime_DayAndTime\": \"{1}{0}\",\n \"L_RelativeDateTime_XDaysFuture\": \"{0}日起的一天*{0}天后\",\n \"L_RelativeDateTime_XDays\": \"{0}天前*{0}天前\",\n \"L_RelativeDateTime_XDaysFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XDaysIntervals\": \"1*2-\",\n \"L_RelativeDateTime_Today\": \"今天\"\n },\n \"SendEmailTo\": \"向{0}發送電子郵件\",\n \"StartChatWith\": \"開始與{0}聊天\",\n \"Contact\": \"聯繫\",\n \"UpdateProfile\": \"更新您的個人資料\",\n \"TaxonomyPickerNoTerms\": \"字詞組不包含任何術語\",\n \"TaxonomyPickerExpandTitle\": \"展開此字詞組\",\n \"TaxonomyPickerMenuTermSet\": \"字詞組的功能表\",\n \"TaxonomyPickerInLabel\": \"在\",\n \"TaxonomyPickerTermSetLabel\": \"字詞組\",\n \"TaxonomyPickerTermsNotFound\": \"在術語庫中找不到下一個選定的術語:{0}\",\n \"TaxonomyPickerInvalidTerms\": \"請修復不合法的字語: {0}\",\n \"peoplePickerComponentTooltipMessage\": \"人員選取器\",\n \"peoplePickerComponentErrorMessage\": \"必要欄位\",\n \"peoplePickerSuggestionsHeaderText\": \"建議人員\",\n \"peoplePickerLoadingText\": \"載入\",\n \"PeoplePickerSearchText\": \"正在獲取使用者\",\n \"PeoplePickerGroupNotFound\": \"找不到組。\",\n \"genericNoResultsFoundText\": \"未找到結果\",\n \"ListItemPickerSelectValue\": \"選擇值\",\n \"ListItemAttachmentsActionDeleteIconTitle\": \"刪除\",\n \"ListItemAttachmentsactionDeleteTitle\": \"刪除\",\n \"ListItemAttachmentsfileDeletedMsg\": \"檔{0}刪除\",\n \"ListItemAttachmentsfileDeleteError\": \"刪除檔錯誤:{0},原因{1}\",\n \"ListItemAttachmentserrorLoadAttachments\": \"載入清單附件錯誤,原因:{0}\",\n \"ListItemAttachmentsconfirmDelete\": \"是否確實要將附件{0}發送到網站回收站?\",\n \"ListItemAttachmentsdialogTitle\": \"清單專案附件\",\n \"ListItemAttachmentsdialogOKbuttonLabel\": \"還行\",\n \"ListItemAttachmentsdialogCancelButtonLabel\": \"取消\",\n \"ListItemAttachmentsdialogOKbuttonLabelOnDelete\": \"刪除\",\n \"ListItemAttachmentsuploadAttachmentDialogTitle\": \"添加附件\",\n \"ListItemAttachmentsuploadAttachmentButtonLabel\": \"添加附件\",\n \"ListItemAttachmentsuploadAttachmentErrorMsg\": \"檔{0}未附加,原因:{1}\",\n \"ListItemAttachmentsCommandBarAddAttachmentLabel\": \"添加附件\",\n \"ListItemAttachmentsloadingMessage\": \"正在上傳檔...\",\n \"ListItemAttachmentslPlaceHolderIconText\": \"清單專案附件\",\n \"ListItemAttachmentslPlaceHolderDescription\": \"請添加附件\",\n \"ListItemAttachmentslPlaceHolderButtonLabel\": \"添加\",\n \"mapsErrorMessage\": \"載入地圖時出錯\",\n \"mapsLoadingText\": \"載入\",\n \"mapsSearchButtonText\": \"搜索\",\n \"mapsTitlePrefix\": \"地圖\",\n \"ListViewFilterLabel\": \"篩選清單\",\n \"HeaderNormalText\": \"普通文本\",\n \"HeaderH2\": \"標題 1\",\n \"HeaderH3\": \"標題 2\",\n \"HeaderH4\": \"標題 3\",\n \"HeaderBlockQuote\": \"拉引號\",\n \"AlignLeft\": \"向左對齊\",\n \"AlignCenter\": \"中心\",\n \"AlignRight\": \"向右對齊\",\n \"AlignJustify\": \"證明\",\n \"ListBullet\": \"專案符號清單\",\n \"ListNumbered\": \"編號清單\",\n \"StyleTitle\": \"風格\",\n \"BoldTitle\": \"粗體(Ctrl+B)\",\n \"ItalicTitle\": \"斜體(Ctrl_I)\",\n \"UnderlineTitle\": \"底線 (Ctrl+U)\",\n \"AlignTitle\": \"對齊\",\n \"ListTitle\": \"清單\",\n \"LinkTitle\": \"連結\",\n \"MoreTitle\": \"更\",\n \"FormattingPaneTitle\": \"文本格式\",\n \"CloseButton\": \"關閉\",\n \"InsertLinkTitle\": \"插入連結\",\n \"AddressFieldLabel\": \"位址\",\n \"TextToDisplayLabel\": \"要顯示的文本\",\n \"SaveButtonLabel\": \"救\",\n \"CancelButtonLabel\": \"取消\",\n \"RemoveLinkLabel\": \"刪除連結\",\n \"ParagraphSectionTitle\": \"段\",\n \"HyperlinkSectionTitle\": \"連結\",\n \"UndoTitle\": \"撤銷(Ctrl+Z)\",\n \"RedoTitle\": \"重做(Ctrl+Y)\",\n \"ClearFormattingTitle\": \"清除所有格式\",\n \"FontStyleTitle\": \"字體樣式\",\n \"FontSizeTitle\": \"字體大小\",\n \"StrikethroughTitle\": \"罷工\",\n \"SuperscriptTitle\": \"標\",\n \"SubscriptTitle\": \"標\",\n \"FontColorLabel\": \"字體顏色\",\n \"AutomaticFontColor\": \"自動\",\n \"HighlightColorLabel\": \"高亮顯示顏色\",\n \"NoColorHighlightColor\": \"無顏色\",\n \"IncreaseIndentTitle\": \"增加縮進\",\n \"DecreaseIndentTitle\": \"減少縮進\",\n \"ThemeColorsGroupName\": \"主題顏色\",\n \"HighlightColorsGroupName\": \"突出顯示顏色\",\n \"StandardColorsGroupName\": \"標準顏色\",\n \"CustomColorsGroupName\": \"自訂顏色\",\n \"ThemeColorDarker\": \"主題較暗\",\n \"ThemeColorDark\": \"主題黑暗\",\n \"ThemeColorDarkAlt\": \"主題黑暗交替\",\n \"ThemeColorPrimary\": \"主題主\",\n \"ThemeColorSecondary\": \"主題輔助\",\n \"ThemeColorTertiary\": \"中性三級\",\n \"ThemeColorNeutralSecondary\": \"中性輔助\",\n \"ThemeColorNeutralPrimaryAlt\": \"中性主備用\",\n \"ThemeColorNeutralPrimary\": \"中性主\",\n \"ThemeColorNeutralDark\": \"中性暗\",\n \"HighlightColorYellow\": \"黃色\",\n \"HighlightColorGreen\": \"綠色\",\n \"HighlightColorAqua\": \"水\",\n \"HighlightColorMagenta\": \"品紅\",\n \"HighlightColorBlue\": \"藍色\",\n \"HighlightColorRed\": \"紅\",\n \"HighlightColorDarkblue\": \"深藍色\",\n \"HighlightColorTeal\": \"蒂爾\",\n \"HighlightColorDarkgreen\": \"深綠色\",\n \"HighlightColorPurple\": \"紫色\",\n \"HighlightColorMaroon\": \"栗色\",\n \"HighlightColorGold\": \"黃金\",\n \"HighlightColorDarkgrey\": \"深灰色\",\n \"HighlightColorGrey\": \"灰色\",\n \"HighlightColorBlack\": \"黑\",\n \"StandardColorDarkred\": \"深紅色\",\n \"StandardColorRed\": \"紅\",\n \"StandardColorOrange\": \"橙\",\n \"StandardColorYellow\": \"黃色\",\n \"StandardColorLightgreen\": \"淺綠色\",\n \"StandardColorGreen\": \"綠色\",\n \"StandardColorLightblue\": \"淺藍色\",\n \"StandardColorBlue\": \"藍色\",\n \"StandardColorDarkblue\": \"深藍色\",\n \"StandardColorPurple\": \"紫色\",\n \"DatePickerMonthLongJanuary\": \"一月\",\n \"DatePickerMonthShortJanuary\": \"1月\",\n \"DatePickerMonthLongFebruary\": \"二月\",\n \"DatePickerMonthShortFebruary\": \"2月\",\n \"DatePickerMonthLongMarch\": \"三月\",\n \"DatePickerMonthShortMarch\": \"三月\",\n \"DatePickerMonthLongApril\": \"四月\",\n \"DatePickerMonthShortApril\": \"四月\",\n \"DatePickerMonthLongMay\": \"可能\",\n \"DatePickerMonthShortMay\": \"可能\",\n \"DatePickerMonthLongJune\": \"六月\",\n \"DatePickerMonthShortJune\": \"君\",\n \"DatePickerMonthLongJuly\": \"七月\",\n \"DatePickerMonthShortJuly\": \"七月\",\n \"DatePickerMonthLongAugust\": \"八月\",\n \"DatePickerMonthShortAugust\": \"八月\",\n \"DatePickerMonthLongSeptember\": \"九月\",\n \"DatePickerMonthShortSeptember\": \"七\",\n \"DatePickerMonthLongOctober\": \"十月\",\n \"DatePickerMonthShortOctober\": \"10月\",\n \"DatePickerMonthLongNovember\": \"十一月\",\n \"DatePickerMonthShortNovember\": \"11 月\",\n \"DatePickerMonthLongDecember\": \"十二月\",\n \"DatePickerMonthShortDecember\": \"12 月\",\n \"DatePickerDayLongSunday\": \"星期天\",\n \"DatePickerDayShortSunday\": \"太陽\",\n \"DatePickerDayLongMonday\": \"星期一\",\n \"DatePickerDayShortMonday\": \"我\",\n \"DatePickerDayLongTuesday\": \"星期二\",\n \"DatePickerDayShortTuesday\": \"星期二\",\n \"DatePickerDayLongWednesday\": \"星期三\",\n \"DatePickerDayShortWednesday\": \"結婚\",\n \"DatePickerDayLongThursday\": \"星期四\",\n \"DatePickerDayShortThursday\": \"週四\",\n \"DatePickerDayLongFriday\": \"星期五\",\n \"DatePickerDayShortFriday\": \"週五\",\n \"DatePickerDayLongSaturday\": \"星期六\",\n \"DatePickerDayShortSaturday\": \"坐\",\n \"DatePickerGoToToday\": \"今天\",\n \"DatePickerIsRequiredErrorMessage\": \"\",\n \"DatePickerInvalidInputErrorMessage\": \"\",\n \"DatePickerIsOutOfBoundsErrorMessage\": \"\",\n \"DateTimePickerDate\": \"日期\",\n \"DateTimePickerTime\": \"時間\",\n \"DateTimePickerTimeSeparator\": \":\",\n \"DateTimePickerHourValueInvalid\": \"小時值不正確\",\n \"DateTimePickerMinuteValueInvalid\": \"分鐘值不正確\",\n \"DateTimePickerSecondValueInvalid\": \"不正確的第二個值\",\n \"AddFileButtonLabel\": \"添加檔\",\n \"AddImageButtonLabel\": \"添加圖像\",\n \"AriaCellValue\": \"{0}列,{1}\",\n \"FilePickerCancelButtonLabel\": \"取消\",\n \"CantValidateValidationMessage\": \"無法驗證此連結。請檢查連結,然後重試。\",\n \"ChangeFileLinkLabel\": \"更改檔\",\n \"ChangeImageLinkLabel\": \"更改圖像\",\n \"ChooseFileLinkLabel\": \"選擇檔\",\n \"ChooseImageLinkLabel\": \"選擇圖像\",\n \"CopyrightUrl\": \"HTTPs://www.microsoft.com/en-US/legal/copyright/default.aspx\",\n \"CopyrightWarning\": \"您有責任尊重他人的權利,包括版權。\",\n \"CreativeCommonsMessage\": \"這些結果帶有知識共用許可證的標籤。查看許可證以確保您遵守。\",\n \"DateFormat\": \"MM/DD/YYYYh:mm A\",\n \"DocumentLabelTemplate\": \"{0},文檔,修改{1},由{2}編輯,私有\",\n \"DocumentLibraries\": \"文件庫\",\n \"EditedByNamePlate\": \"編輯者\",\n \"EmptyFileSize\": \"0 位元組\",\n \"FilePickerHeader\": \"檔選取器\",\n \"FileSizeField\": \"檔案大小\",\n \"FolderAltText\": \"資料夾\",\n \"FolderBackPlate\": \"HTTPs://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/foldericons/folder-large_backplate.svg\",\n \"FolderFrontPlate\": \"HTTPs://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/foldericons/folder-large_frontplate_nopreview.svg\",\n \"FolderIconUrl\": \"HTTPs://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-11_20190116.001/odsp-media/images/itemtypes/20/folder.svg\",\n \"FolderLabelTemplate\": \"{0}, 資料夾, 修改{1}, 編輯{2}, {3}專案, 私有\",\n \"FromLinkLinkLabel\": \"從連結\",\n \"ImageAltText\": \".{0}圖像\",\n \"ImageAriaLabelTemplate\": \".{0}圖像\",\n \"ImageLayoutPlaceholderText\": \"佈局\",\n \"ImageSizePlaceholderText\": \"圖像大小\",\n \"ItemChildCountField\": \"專案子計數\",\n \"LayoutOptionAll\": \"所有\",\n \"LayoutOptionSquare\": \"廣場\",\n \"LayoutOptionTall\": \"高\",\n \"LayoutOptionWide\": \"寬\",\n \"LearnMoreLink\": \"瞭解更多資訊。\",\n \"LicenseOptionAll\": \"所有\",\n \"LicenseOptionAny\": \"僅限知識共用\",\n \"LicensePlaceholderText\": \"許可證\",\n \"LinkFileInstructions\": \"在一個企業或共用點線上中粘貼到檔的連結\",\n \"LinkHeader\": \"從連結\",\n \"LinkImageInstructions\": \"在一個企業或共用點線上的 OneDrive 中粘貼圖像連結\",\n \"ListLayoutAriaLabel\": \"查看選項。{0} {1} .\",\n \"ListLayoutCompact\": \"緊湊視圖\",\n \"ListLayoutCompactDescription\": \"在緊湊清單中查看專案和詳細資訊\",\n \"ListLayoutList\": \"清單視圖\",\n \"ListLayoutListDescrition\": \"查看清單中的專案和詳細資訊\",\n \"ListLayoutTile\": \"磁貼視圖\",\n \"ListLayoutTileDescription\": \"查看具有磁貼預覽的專案\",\n \"ListOptionsAlt\": \"查看選項。{0}選中 。\",\n \"ListOptionsTitle\": \"打開視圖選項功能表\",\n \"Loading\": \"載入。。。\",\n \"ModifiedByField\": \"修改者\",\n \"ModifiedField\": \"修改日期\",\n \"NameField\": \"名字\",\n \"No\": \"不\",\n \"ProvidedValueIsInvalid\": \"提供的值無效\",\n \"NoExternalLinksValidationMessage\": \"我們僅支援連結到您自己組織中的檔。\",\n \"NoImageValidationMessage\": \"這不是指向我們支援的檔案類型的連結。您只能連結到圖像。\",\n \"NoRecentFiles\": \"無最近檔\",\n \"NoRecentFilesDescription\": \"請嘗試從您的網站中選擇檔,或從設備上傳檔。\",\n \"NoResultsBadEnglish\": \"未找到結果。嘗試更改篩選器選項\",\n \"ODModifiedField\": \"改 性\",\n \"ODPhotoIconUrl\": \"HTTPs://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-18_20190124.001/odsp-media/images/itemtypes/16_2x/photo.png\",\n \"ODRowArialLabelTemplate\": \"{0},{1},修改{2},由{3}、{4}、{5}編輯\",\n \"OneDriveConfirmDialogBody\": \"此專案來自您的 OneDrive 網站。OneDrive 中的檔和資料夾是私有的,除非您共用它們。您是否與您的網站成員共用此檔,以便他們可以成功?\",\n \"OneDriveConfirmDialogTitle\": \"只是檢查...\",\n \"OneDriveEmptyFolderAlt\": \"空資料夾\",\n \"OneDriveEmptyFolderDescription\": \"要添加檔,請轉到 OneDrive。您還可以使用電腦的 OneDrive 應用將檔添加到此資料夾。\",\n \"OneDriveEmptyFolderIconUrl\": \"HTTPs://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-18_20190124.001/odsp-media/images/emptyfolder/empty_folder.svg\",\n \"OneDriveEmptyFolderTitle\": \"此資料夾為空\",\n \"OneDriveRootFolderName\": \"檔\",\n \"OpenButtonLabel\": \"打開\",\n \"PhotoIconUrl\": \"HTTPs://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-11_20190116.001/odsp-media/images/itemtypes/20_2x/photo.png\",\n \"OrgAssetsTabLabel\": \"組織提供的圖像和檔\",\n \"PoweredByBing\": \"由必應支援\",\n \"RecentDocumentsHeader\": \"最近文檔\",\n \"RecentImagesHeader\": \"最近的圖像\",\n \"RecentLinkLabel\": \"最近\",\n \"SearchBoxPlaceholder\": \"網路搜索\",\n \"SearchResultAlt\": \"{0}的圖像結果。\",\n \"SearchResultAriaLabel\": \"按 ENTER 以在新選項卡中打開圖像源。\",\n \"Selected\": \"選擇\",\n \"SharingField\": \"共用\",\n \"SharingPrivate\": \"私人\",\n \"SharingShared\": \"共用\",\n \"SiteLinkLabel\": \"網站\",\n \"SizeOptionAll\": \"所有\",\n \"SizeOptionExtraLarge\": \"特大\",\n \"SizeOptionLarge\": \"大\",\n \"SizeOptionMedium\": \"中\",\n \"SizeOptionSmall\": \"小\",\n \"SizeUnit\": [\n \"位元組\",\n \"K b\",\n \"M b\",\n \"G b\",\n \"結核病\",\n \"鉛\",\n \"Eb\",\n \"等\",\n \"Yb\"\n ],\n \"SorryWebSearch\": \"很抱歉,此示例中未實現此函數,因為它需要必應 API 金鑰。\",\n \"SortedAscending\": \"將 A 排序到 Z\",\n \"SortedDescending\": \"將 Z 排序到 A\",\n \"TypeAriaLabel\": \"檔案類型的列操作,按 以對檔案類型進行排序\",\n \"UploadFileHeader\": \"上傳檔\",\n \"UploadImageHeader\": \"上傳圖片\",\n \"UploadLinkLabel\": \"上傳\",\n \"WebSearchLinkLabel\": \"網路搜索\",\n \"StockImagesLinkLabel\": \"庫存圖像\",\n \"StockImagesHeader\": \"庫存圖片\",\n \"Yes\": \"是的\",\n \"NewFolderNamePlaceholder\": \"輸入資料夾名稱\",\n \"FolderFilterBoxPlaceholder\": \"按名稱篩選資料夾\",\n \"FolderExplorerLoading\": \"載入資料夾中...\",\n \"FolderExplorerNoItems\": \"此文件無子資料夾。\",\n \"SelectedLabel\": \"已選取\",\n \"SelectIcon\": \"選取圖示\",\n \"TreeViewExpandTitle\": \"展開此專案\",\n \"TreeViewCollapseTitle\": \"摺疊此專案\",\n \"CollectionDataEmptyFields\": \"沒有為收集數據提供欄位。\",\n \"CollectionDataEmptyValue\": \"集合中沒有數據。\",\n \"CollectionAddRowButtonLabel\": \"將數據添加到集合中\",\n \"CollectionDeleteRowButtonLabel\": \"刪除當前行\",\n \"CollectionSaveAndAddButtonLabel\": \"添加和保存\",\n \"CollectionDataItemShowErrorsLabel\": \"顯示行錯誤\",\n \"CollectionDataItemFieldRequiredLabel\": \"欄位是必需的。\",\n \"CollectionDataItemMissingFields\": \"字段集合為空!\",\n \"InvalidUrlError\": \"提供的 URL 無效\",\n \"CollectionDataSearch\": \"搜索\"\n};\n});"],"sourceRoot":"../../src"}
|
|
1
|
+
{"version":3,"sources":["loc/zh-tw.ts"],"names":[],"mappings":"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","file":"loc/zh-tw.js","sourcesContent":["declare var define: any;\n\ndefine([], () => {\n return {\n \"SiteBreadcrumbLabel\": \"網站導覽\",\n \"ListViewGroupEmptyLabel\": \"空\",\n \"WebPartTitlePlaceholder\": \"Web 組件標題\",\n \"WebPartTitleLabel\": \"新增標題\",\n \"DateTime\": {\n \"L_RelativeDateTime_AFewSecondsFuture\": \"幾秒鐘內\",\n \"L_RelativeDateTime_AFewSeconds\": \"幾秒鐘前\",\n \"L_RelativeDateTime_AboutAMinuteFuture\": \"大約一分鐘後\",\n \"L_RelativeDateTime_AboutAMinute\": \"大約一分鐘前\",\n \"L_RelativeDateTime_XMinutesFuture\": \"{0}分鐘內\",\n \"L_RelativeDateTime_XMinutes\": \"{0}分鐘前\",\n \"L_RelativeDateTime_XMinutesFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XMinutesIntervals\": \"1*2-\",\n \"L_RelativeDateTime_AboutAnHourFuture\": \"大約一小時後\",\n \"L_RelativeDateTime_AboutAnHour\": \"大約一小時前\",\n \"L_RelativeDateTime_Tomorrow\": \"明天\",\n \"L_RelativeDateTime_Yesterday\": \"昨天\",\n \"L_RelativeDateTime_TomorrowAndTime\": \"明天在{0}\",\n \"L_RelativeDateTime_YesterdayAndTime\": \"昨天在{0}\",\n \"L_RelativeDateTime_XHoursFuture\": \"{0}小時內\",\n \"L_RelativeDateTime_XHours\": \"{0}小時前\",\n \"L_RelativeDateTime_XHoursFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XHoursIntervals\": \"1*2-\",\n \"L_RelativeDateTime_DayAndTime\": \"{1}{0}\",\n \"L_RelativeDateTime_XDaysFuture\": \"{0}天後\",\n \"L_RelativeDateTime_XDays\": \"{0}天前\",\n \"L_RelativeDateTime_XDaysFutureIntervals\": \"1*2-\",\n \"L_RelativeDateTime_XDaysIntervals\": \"1*2-\",\n \"L_RelativeDateTime_Today\": \"今天\"\n },\n \"SendEmailTo\": \"向{0}發送電子郵件\",\n \"StartChatWith\": \"開始與{0}聊天\",\n \"Contact\": \"聯絡\",\n \"UpdateProfile\": \"更新您的個人資料\",\n \"TaxonomyPickerNoTerms\": \"術語集不包含任何術語\",\n \"TaxonomyPickerExpandTitle\": \"展開此術語集\",\n \"TaxonomyPickerMenuTermSet\": \"術語集的選單\",\n \"TaxonomyPickerInLabel\": \"在\",\n \"TaxonomyPickerTermSetLabel\": \"術語集\",\n \"peoplePickerComponentTooltipMessage\": \"人員選取器\",\n \"peoplePickerComponentErrorMessage\": \"必填欄位\",\n \"peoplePickerSuggestionsHeaderText\": \"建議人員\",\n \"peoplePickerLoadingText\": \"載入中\",\n \"PeoplePickerSearchText\": \"正在獲取使用者\",\n \"PeoplePickerGroupNotFound\": \"找不到群組。\",\n \"genericNoResultsFoundText\": \"未找到結果\",\n \"ListItemPickerSelectValue\": \"選擇值\",\n \"ListItemAttachmentsActionDeleteIconTitle\": \"刪除\",\n \"ListItemAttachmentsactionDeleteTitle\": \"刪除\",\n \"ListItemAttachmentsfileDeletedMsg\": \"檔案{0}已刪除\",\n \"ListItemAttachmentsfileDeleteError\": \"刪除檔案錯誤:{0},原因{1}\",\n \"ListItemAttachmentserrorLoadAttachments\": \"載入列表附件錯誤,原因:{0}\",\n \"ListItemAttachmentsconfirmDelete\": \"是否確實要將附件{0}發送到網站回收桶?\",\n \"ListItemAttachmentsdialogTitle\": \"列表項目附件\",\n \"ListItemAttachmentsdialogOKbuttonLabel\": \"好的\",\n \"ListItemAttachmentsdialogCancelButtonLabel\": \"取消\",\n \"ListItemAttachmentsdialogOKbuttonLabelOnDelete\": \"刪除\",\n \"ListItemAttachmentsuploadAttachmentDialogTitle\": \"新增附件\",\n \"ListItemAttachmentsuploadAttachmentButtonLabel\": \"新增附件\",\n \"ListItemAttachmentsuploadAttachmentErrorMsg\": \"檔案{0}未附加,原因:{1}\",\n \"ListItemAttachmentsCommandBarAddAttachmentLabel\": \"新增附件\",\n \"ListItemAttachmentsloadingMessage\": \"正在上傳檔案...\",\n \"ListItemAttachmentslPlaceHolderIconText\": \"列表項目附件\",\n \"ListItemAttachmentslPlaceHolderDescription\": \"請新增附件\",\n \"ListItemAttachmentslPlaceHolderButtonLabel\": \"新增\",\n \"mapsErrorMessage\": \"載入地圖時出錯\",\n \"mapsLoadingText\": \"載入中\",\n \"mapsSearchButtonText\": \"搜尋\",\n \"mapsTitlePrefix\": \"地圖\",\n \"ListViewFilterLabel\": \"篩選列表\",\n \"HeaderNormalText\": \"普通文字\",\n \"HeaderH2\": \"標題 2\",\n \"HeaderH3\": \"標題 3\",\n \"HeaderH4\": \"標題 4\",\n \"HeaderBlockQuote\": \"引用\",\n \"AlignLeft\": \"向左對齊\",\n \"AlignCenter\": \"置中對齊\",\n \"AlignRight\": \"向右對齊\",\n \"AlignJustify\": \"文字兩端對齊\",\n \"ListBullet\": \"項目符號列表\",\n \"ListNumbered\": \"編號列表\",\n \"StyleTitle\": \"樣式\",\n \"BoldTitle\": \"粗體(Ctrl+B)\",\n \"ItalicTitle\": \"斜體(Ctrl_I)\",\n \"UnderlineTitle\": \"底線 (Ctrl+U)\",\n \"AlignTitle\": \"對齊\",\n \"ListTitle\": \"列表\",\n \"LinkTitle\": \"連結\",\n \"MoreTitle\": \"詳細\",\n \"FormattingPaneTitle\": \"文字格式\",\n \"CloseButton\": \"關閉\",\n \"InsertLinkTitle\": \"插入連結\",\n \"AddressFieldLabel\": \"地址\",\n \"TextToDisplayLabel\": \"要顯示的文字\",\n \"SaveButtonLabel\": \"儲存\",\n \"CancelButtonLabel\": \"取消\",\n \"RemoveLinkLabel\": \"刪除連結\",\n \"ParagraphSectionTitle\": \"段落\",\n \"HyperlinkSectionTitle\": \"連結\",\n \"UndoTitle\": \"撤銷(Ctrl+Z)\",\n \"RedoTitle\": \"重做(Ctrl+Y)\",\n \"ClearFormattingTitle\": \"清除所有格式\",\n \"FontStyleTitle\": \"字型樣式\",\n \"FontSizeTitle\": \"字型大小\",\n \"StrikethroughTitle\": \"刪除線\",\n \"SuperscriptTitle\": \"上標\",\n \"SubscriptTitle\": \"下標\",\n \"FontColorLabel\": \"字型顏色\",\n \"AutomaticFontColor\": \"自動\",\n \"HighlightColorLabel\": \"醒目提示顏色\",\n \"NoColorHighlightColor\": \"無顏色\",\n \"IncreaseIndentTitle\": \"增加縮排\",\n \"DecreaseIndentTitle\": \"減少縮排\",\n \"ThemeColorsGroupName\": \"主題顏色\",\n \"HighlightColorsGroupName\": \"醒目提示顏色\",\n \"StandardColorsGroupName\": \"標準顏色\",\n \"CustomColorsGroupName\": \"自訂顏色\",\n \"ThemeColorDarker\": \"主題較暗\",\n \"ThemeColorDark\": \"主題深色\",\n \"ThemeColorDarkAlt\": \"主題深色替代色\",\n \"ThemeColorPrimary\": \"主題主色\",\n \"ThemeColorSecondary\": \"主題次色\",\n \"ThemeColorTertiary\": \"中性第三色\",\n \"ThemeColorNeutralSecondary\": \"中性次色\",\n \"ThemeColorNeutralPrimaryAlt\": \"中性替代色\",\n \"ThemeColorNeutralPrimary\": \"中性主色\",\n \"ThemeColorNeutralDark\": \"中性暗色調\",\n \"HighlightColorYellow\": \"黃色\",\n \"HighlightColorGreen\": \"綠色\",\n \"HighlightColorAqua\": \"水色\",\n \"HighlightColorMagenta\": \"洋紅\",\n \"HighlightColorBlue\": \"藍色\",\n \"HighlightColorRed\": \"紅色\",\n \"HighlightColorDarkblue\": \"深藍色\",\n \"HighlightColorTeal\": \"藍綠色\",\n \"HighlightColorDarkgreen\": \"深綠色\",\n \"HighlightColorPurple\": \"紫色\",\n \"HighlightColorMaroon\": \"栗色\",\n \"HighlightColorGold\": \"金色\",\n \"HighlightColorDarkgrey\": \"深灰色\",\n \"HighlightColorGrey\": \"灰色\",\n \"HighlightColorBlack\": \"黑色\",\n \"StandardColorDarkred\": \"深紅色\",\n \"StandardColorRed\": \"紅色\",\n \"StandardColorOrange\": \"橙色\",\n \"StandardColorYellow\": \"黃色\",\n \"StandardColorLightgreen\": \"淺綠色\",\n \"StandardColorGreen\": \"綠色\",\n \"StandardColorLightblue\": \"淺藍色\",\n \"StandardColorBlue\": \"藍色\",\n \"StandardColorDarkblue\": \"深藍色\",\n \"StandardColorPurple\": \"紫色\",\n \"DatePickerMonthLongJanuary\": \"一月\",\n \"DatePickerMonthShortJanuary\": \"1月\",\n \"DatePickerMonthLongFebruary\": \"二月\",\n \"DatePickerMonthShortFebruary\": \"2月\",\n \"DatePickerMonthLongMarch\": \"三月\",\n \"DatePickerMonthShortMarch\": \"3月\",\n \"DatePickerMonthLongApril\": \"四月\",\n \"DatePickerMonthShortApril\": \"4月\",\n \"DatePickerMonthLongMay\": \"五月\",\n \"DatePickerMonthShortMay\": \"5月\",\n \"DatePickerMonthLongJune\": \"六月\",\n \"DatePickerMonthShortJune\": \"6月\",\n \"DatePickerMonthLongJuly\": \"七月\",\n \"DatePickerMonthShortJuly\": \"7月\",\n \"DatePickerMonthLongAugust\": \"八月\",\n \"DatePickerMonthShortAugust\": \"8月\",\n \"DatePickerMonthLongSeptember\": \"九月\",\n \"DatePickerMonthShortSeptember\": \"9月\",\n \"DatePickerMonthLongOctober\": \"十月\",\n \"DatePickerMonthShortOctober\": \"10月\",\n \"DatePickerMonthLongNovember\": \"十一月\",\n \"DatePickerMonthShortNovember\": \"11月\",\n \"DatePickerMonthLongDecember\": \"十二月\",\n \"DatePickerMonthShortDecember\": \"12月\",\n \"DatePickerDayLongSunday\": \"星期日\",\n \"DatePickerDayShortSunday\": \"週日\",\n \"DatePickerDayLongMonday\": \"星期一\",\n \"DatePickerDayShortMonday\": \"週一\",\n \"DatePickerDayLongTuesday\": \"星期二\",\n \"DatePickerDayShortTuesday\": \"週二\",\n \"DatePickerDayLongWednesday\": \"星期三\",\n \"DatePickerDayShortWednesday\": \"週三\",\n \"DatePickerDayLongThursday\": \"星期四\",\n \"DatePickerDayShortThursday\": \"週四\",\n \"DatePickerDayLongFriday\": \"星期五\",\n \"DatePickerDayShortFriday\": \"週五\",\n \"DatePickerDayLongSaturday\": \"星期六\",\n \"DatePickerDayShortSaturday\": \"週六\",\n \"DatePickerGoToToday\": \"今天\",\n \"DatePickerIsRequiredErrorMessage\": \"\",\n \"DatePickerInvalidInputErrorMessage\": \"\",\n \"DatePickerIsOutOfBoundsErrorMessage\": \"\",\n \"DateTimePickerDate\": \"日期\",\n \"DateTimePickerTime\": \"時間\",\n \"DateTimePickerTimeSeparator\": \":\",\n \"DateTimePickerHourValueInvalid\": \"小時數值不正確\",\n \"AddFileButtonLabel\": \"新增檔案\",\n \"AddImageButtonLabel\": \"新增圖像\",\n \"AriaCellValue\": \"{0}列,{1}\",\n \"FilePickerCancelButtonLabel\": \"取消\",\n \"CantValidateValidationMessage\": \"無法驗證此連結。請檢查連結,然後重試。\",\n \"ChangeFileLinkLabel\": \"變更檔案\",\n \"ChangeImageLinkLabel\": \"變更圖像\",\n \"ChooseFileLinkLabel\": \"選擇檔案\",\n \"ChooseImageLinkLabel\": \"選擇圖像\",\n \"CopyrightUrl\": \"https://www.microsoft.com/en-US/legal/copyright/default.aspx\",\n \"CopyrightWarning\": \"您有責任尊重他人的權利,包括版權。\",\n \"CreativeCommonsMessage\": \"這些結果帶有知識共享許可證的標籤。查看許可證以確保您遵守。\",\n \"DateFormat\": \"MM/DD/YYYYh:mm A\",\n \"DocumentLabelTemplate\": \"{0},文件,修改{1},由{2}編輯,私有\",\n \"DocumentLibraries\": \"文件庫\",\n \"EditedByNamePlate\": \"編輯者\",\n \"EmptyFileSize\": \"0 位元組\",\n \"FilePickerHeader\": \"文件選取器\",\n \"FileSizeField\": \"文件大小\",\n \"FolderAltText\": \"資料夾\",\n \"FolderBackPlate\": \"https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/foldericons/folder-large_backplate.svg\",\n \"FolderFrontPlate\": \"https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/foldericons/folder-large_frontplate_nopreview.svg\",\n \"FolderIconUrl\": \"https://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-11_20190116.001/odsp-media/images/itemtypes/20/folder.svg\",\n \"FolderLabelTemplate\": \"{0}, 資料夾, 修改{1}, 編輯{2}, {3}項目, 私有\",\n \"FromLinkLinkLabel\": \"從連結\",\n \"ImageAltText\": \".{0}圖像\",\n \"ImageAriaLabelTemplate\": \".{0}圖像\",\n \"ImageLayoutPlaceholderText\": \"版面配置\",\n \"ImageSizePlaceholderText\": \"圖像大小\",\n \"ItemChildCountField\": \"子項計數\",\n \"LayoutOptionAll\": \"所有\",\n \"LayoutOptionSquare\": \"正方形\",\n \"LayoutOptionTall\": \"高版\",\n \"LayoutOptionWide\": \"寬版\",\n \"LearnMoreLink\": \"了解更多資訊。\",\n \"LicenseOptionAll\": \"所有\",\n \"LicenseOptionAny\": \"僅限知識共享\",\n \"LicensePlaceholderText\": \"許可證\",\n \"LinkFileInstructions\": \"在OneDrive for Business或者SharePoint Online中貼上到文件的連結\",\n \"LinkHeader\": \"從連結\",\n \"LinkImageInstructions\": \"在OneDrive for Business或者SharePoint Online中貼上圖像連結\",\n \"ListLayoutAriaLabel\": \"查看選項。{0} {1} .\",\n \"ListLayoutCompact\": \"緊湊視圖\",\n \"ListLayoutCompactDescription\": \"在緊湊列表中查看項目和詳細資訊\",\n \"ListLayoutList\": \"列表視圖\",\n \"ListLayoutListDescrition\": \"查看列表中的項目和詳細資訊\",\n \"ListLayoutTile\": \"平鋪視圖\",\n \"ListLayoutTileDescription\": \"以平鋪的方式查看子項\",\n \"ListOptionsAlt\": \"查看選項。{0}選中 。\",\n \"ListOptionsTitle\": \"打開視圖選項選單\",\n \"Loading\": \"載入中...\",\n \"ModifiedByField\": \"修改者\",\n \"ModifiedField\": \"修改日期\",\n \"NameField\": \"名字\",\n \"No\": \"否\",\n \"ProvidedValueIsInvalid\": \"提供的值無效\",\n \"NoExternalLinksValidationMessage\": \"我們僅支援連結到您自己組織中的文件。\",\n \"NoImageValidationMessage\": \"這不是指向我們支援的文件類型的連結。您只能連結到圖像。\",\n \"NoRecentFiles\": \"無最近文件\",\n \"NoRecentFilesDescription\": \"請嘗試從您的網站中選擇文件,或從設備上傳文件。\",\n \"NoResultsBadEnglish\": \"未找到結果。嘗試更改篩選器選項\",\n \"ODModifiedField\": \"變更\",\n \"ODPhotoIconUrl\": \"https://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-18_20190124.001/odsp-media/images/itemtypes/16_2x/photo.png\",\n \"ODRowArialLabelTemplate\": \"{0},{1},修改{2},由{3}、{4}、{5}編輯\",\n \"OneDriveConfirmDialogBody\": \"此專案來自您的 OneDrive 網站。OneDrive 中的檔和資料夾是私有的,除非您共用它們。您是否與您的網站成員共用此檔,以便他們可以成功?\",\n \"OneDriveConfirmDialogTitle\": \"只是檢查...\",\n \"OneDriveEmptyFolderAlt\": \"空資料夾\",\n \"OneDriveEmptyFolderDescription\": \"要添加文件,請轉到 OneDrive。您還可以使用計算機的 OneDrive 應用將文件添加到此資料夾。\",\n \"OneDriveEmptyFolderIconUrl\": \"https://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-18_20190124.001/odsp-media/images/emptyfolder/empty_folder.svg\",\n \"OneDriveEmptyFolderTitle\": \"此資料夾為空\",\n \"OneDriveRootFolderName\": \"文件\",\n \"OpenButtonLabel\": \"打開\",\n \"PhotoIconUrl\": \"https://spoprod-a.akamaihd.net/files/odsp-next-prod_2019-01-11_20190116.001/odsp-media/images/itemtypes/20_2x/photo.png\",\n \"OrgAssetsTabLabel\": \"組織提供的圖像和文件\",\n \"PoweredByBing\": \"由必應支持\",\n \"RecentDocumentsHeader\": \"最近文件\",\n \"RecentImagesHeader\": \"最近的圖像\",\n \"RecentLinkLabel\": \"最近\",\n \"SearchBoxPlaceholder\": \"網絡搜索\",\n \"SearchResultAlt\": \"{0}的圖像結果。\",\n \"SearchResultAriaLabel\": \"按 ENTER 以在新選項卡中打開圖像源。\",\n \"Selected\": \"選擇\",\n \"SharingField\": \"共享\",\n \"SharingPrivate\": \"私人\",\n \"SharingShared\": \"共享\",\n \"SiteLinkLabel\": \"網站\",\n \"SizeOptionAll\": \"所有\",\n \"SizeOptionExtraLarge\": \"特大\",\n \"SizeOptionLarge\": \"大\",\n \"SizeOptionMedium\": \"中\",\n \"SizeOptionSmall\": \"小\",\n \"SizeUnit\": [\n \"位元組\",\n \"KB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n ],\n \"SorryWebSearch\": \"很抱歉,此示例中未實現此功能,因為它需要必應 API 密鑰。\",\n \"SortedAscending\": \"將 A 排序到 Z\",\n \"SortedDescending\": \"將 Z 排序到 A\",\n \"TypeAriaLabel\": \"文件類型的列操作,按 以對文件類型進行排序\",\n \"UploadFileHeader\": \"上傳文件\",\n \"UploadImageHeader\": \"上傳圖片\",\n \"UploadLinkLabel\": \"上傳\",\n \"WebSearchLinkLabel\": \"網絡搜索\",\n \"Yes\": \"是的\",\n \"SelectedLabel\": \"所選\",\n \"SelectIcon\": \"選擇圖標\"\n};\n});"],"sourceRoot":"../../src"}
|
|
@@ -30,7 +30,7 @@ export default class SPTermStorePickerService {
|
|
|
30
30
|
* Retrieve all terms for the given term set
|
|
31
31
|
* @param termset
|
|
32
32
|
*/
|
|
33
|
-
getAllTerms(termset: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean): Promise<ITermSet>;
|
|
33
|
+
getAllTerms(termset: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean, useSessionStorage?: boolean): Promise<ITermSet>;
|
|
34
34
|
/**
|
|
35
35
|
* Get the term set ID by its name
|
|
36
36
|
* @param termstore
|
|
@@ -42,13 +42,13 @@ export default class SPTermStorePickerService {
|
|
|
42
42
|
* @param searchText
|
|
43
43
|
*/
|
|
44
44
|
searchTermsByName(searchText: string): Promise<IPickerTerm[]>;
|
|
45
|
-
private getTermsById(termId);
|
|
45
|
+
private getTermsById(termId, useSessionStorage?);
|
|
46
46
|
private searchTermsBySearchText(terms, searchText);
|
|
47
47
|
searchTermsByTermId(searchText: string, termId: string): Promise<IPickerTerm[]>;
|
|
48
48
|
/**
|
|
49
49
|
* Retrieve all terms for the given term set and anchorId
|
|
50
50
|
*/
|
|
51
|
-
getAllTermsByAnchorId(termsetNameOrID: string, anchorId: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean): Promise<IPickerTerm[]>;
|
|
51
|
+
getAllTermsByAnchorId(termsetNameOrID: string, anchorId: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean, useSessionStorage?: boolean): Promise<IPickerTerm[]>;
|
|
52
52
|
/**
|
|
53
53
|
* Searches terms for the given term set
|
|
54
54
|
* @param searchText
|
|
@@ -46,6 +46,7 @@ var sp_core_library_1 = require("@microsoft/sp-core-library");
|
|
|
46
46
|
var SPTermStorePickerMockService_1 = require("./SPTermStorePickerMockService");
|
|
47
47
|
var sp_lodash_subset_1 = require("@microsoft/sp-lodash-subset");
|
|
48
48
|
var Constants_1 = require("../common/Constants");
|
|
49
|
+
var LocalesHelper_1 = require("../common/utilities/LocalesHelper");
|
|
49
50
|
/**
|
|
50
51
|
* Service implementation to manage term stores in SharePoint
|
|
51
52
|
*/
|
|
@@ -186,7 +187,8 @@ var SPTermStorePickerService = (function () {
|
|
|
186
187
|
* Retrieve all terms for the given term set
|
|
187
188
|
* @param termset
|
|
188
189
|
*/
|
|
189
|
-
SPTermStorePickerService.prototype.getAllTerms = function (termset, hideDeprecatedTags, hideTagsNotAvailableForTagging) {
|
|
190
|
+
SPTermStorePickerService.prototype.getAllTerms = function (termset, hideDeprecatedTags, hideTagsNotAvailableForTagging, useSessionStorage) {
|
|
191
|
+
if (useSessionStorage === void 0) { useSessionStorage = true; }
|
|
190
192
|
return __awaiter(this, void 0, void 0, function () {
|
|
191
193
|
var _this = this;
|
|
192
194
|
var termsetId_1, termStore, crntTermSet, childTerms, data, reqHeaders, httpPostOptions;
|
|
@@ -211,7 +213,7 @@ var SPTermStorePickerService = (function () {
|
|
|
211
213
|
}
|
|
212
214
|
_a.label = 3;
|
|
213
215
|
case 3:
|
|
214
|
-
childTerms = this.getTermsById(termsetId_1);
|
|
216
|
+
childTerms = this.getTermsById(termsetId_1, useSessionStorage);
|
|
215
217
|
if (childTerms) {
|
|
216
218
|
return [2 /*return*/, childTerms];
|
|
217
219
|
}
|
|
@@ -263,7 +265,14 @@ var SPTermStorePickerService = (function () {
|
|
|
263
265
|
termStoreResultTermSet.Terms = terms;
|
|
264
266
|
}
|
|
265
267
|
}
|
|
266
|
-
|
|
268
|
+
try {
|
|
269
|
+
if (useSessionStorage && window.sessionStorage) {
|
|
270
|
+
window.sessionStorage.setItem(termsetId_1, JSON.stringify(termStoreResultTermSet));
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
// Do nothing, sometimes storage quota exceed error if too many items
|
|
275
|
+
}
|
|
267
276
|
return termStoreResultTermSet;
|
|
268
277
|
}
|
|
269
278
|
return null;
|
|
@@ -314,12 +323,24 @@ var SPTermStorePickerService = (function () {
|
|
|
314
323
|
return this.searchTermsByTermSet(searchText);
|
|
315
324
|
}
|
|
316
325
|
};
|
|
317
|
-
SPTermStorePickerService.prototype.getTermsById = function (termId) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
326
|
+
SPTermStorePickerService.prototype.getTermsById = function (termId, useSessionStorage) {
|
|
327
|
+
if (useSessionStorage === void 0) { useSessionStorage = true; }
|
|
328
|
+
try {
|
|
329
|
+
if (useSessionStorage && window.sessionStorage) {
|
|
330
|
+
var terms = window.sessionStorage.getItem(termId);
|
|
331
|
+
if (terms)
|
|
332
|
+
return JSON.parse(terms);
|
|
333
|
+
else {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
322
342
|
return null;
|
|
343
|
+
}
|
|
323
344
|
};
|
|
324
345
|
SPTermStorePickerService.prototype.searchTermsBySearchText = function (terms, searchText) {
|
|
325
346
|
if (terms) {
|
|
@@ -330,7 +351,7 @@ var SPTermStorePickerService = (function () {
|
|
|
330
351
|
};
|
|
331
352
|
SPTermStorePickerService.prototype.searchTermsByTermId = function (searchText, termId) {
|
|
332
353
|
return __awaiter(this, void 0, void 0, function () {
|
|
333
|
-
var childTerms, _a, termsetNameOrID, hideDeprecatedTags, hideTagsNotAvailableForTagging, terms;
|
|
354
|
+
var useSessionStorage, childTerms, _a, termsetNameOrID, hideDeprecatedTags, hideTagsNotAvailableForTagging, terms;
|
|
334
355
|
return __generator(this, function (_b) {
|
|
335
356
|
switch (_b.label) {
|
|
336
357
|
case 0:
|
|
@@ -338,12 +359,13 @@ var SPTermStorePickerService = (function () {
|
|
|
338
359
|
// If the running environment is local, load the data from the mock
|
|
339
360
|
return [2 /*return*/, SPTermStorePickerMockService_1.default.searchTermsByName(searchText)];
|
|
340
361
|
case 1:
|
|
341
|
-
|
|
362
|
+
useSessionStorage = this.props.useSessionStorage;
|
|
363
|
+
childTerms = this.getTermsById(termId, useSessionStorage);
|
|
342
364
|
if (!childTerms) return [3 /*break*/, 2];
|
|
343
365
|
return [2 /*return*/, this.searchTermsBySearchText(childTerms, searchText)];
|
|
344
366
|
case 2:
|
|
345
367
|
_a = this.props, termsetNameOrID = _a.termsetNameOrID, hideDeprecatedTags = _a.hideDeprecatedTags, hideTagsNotAvailableForTagging = _a.hideTagsNotAvailableForTagging;
|
|
346
|
-
return [4 /*yield*/, this.getAllTermsByAnchorId(termsetNameOrID, termId, hideDeprecatedTags, hideTagsNotAvailableForTagging)];
|
|
368
|
+
return [4 /*yield*/, this.getAllTermsByAnchorId(termsetNameOrID, termId, hideDeprecatedTags, hideTagsNotAvailableForTagging, useSessionStorage)];
|
|
347
369
|
case 3:
|
|
348
370
|
terms = _b.sent();
|
|
349
371
|
if (terms) {
|
|
@@ -358,7 +380,8 @@ var SPTermStorePickerService = (function () {
|
|
|
358
380
|
/**
|
|
359
381
|
* Retrieve all terms for the given term set and anchorId
|
|
360
382
|
*/
|
|
361
|
-
SPTermStorePickerService.prototype.getAllTermsByAnchorId = function (termsetNameOrID, anchorId, hideDeprecatedTags, hideTagsNotAvailableForTagging) {
|
|
383
|
+
SPTermStorePickerService.prototype.getAllTermsByAnchorId = function (termsetNameOrID, anchorId, hideDeprecatedTags, hideTagsNotAvailableForTagging, useSessionStorage) {
|
|
384
|
+
if (useSessionStorage === void 0) { useSessionStorage = true; }
|
|
362
385
|
return __awaiter(this, void 0, void 0, function () {
|
|
363
386
|
var _this = this;
|
|
364
387
|
var returnTerms, terms, childTerms, termSet, terms, anchorTerm_1, anchorTermPath_1, anchorTerms;
|
|
@@ -375,7 +398,7 @@ var SPTermStorePickerService = (function () {
|
|
|
375
398
|
});
|
|
376
399
|
return [3 /*break*/, 4];
|
|
377
400
|
case 2:
|
|
378
|
-
childTerms = this.getTermsById(anchorId);
|
|
401
|
+
childTerms = this.getTermsById(anchorId, useSessionStorage);
|
|
379
402
|
if (childTerms) {
|
|
380
403
|
return [2 /*return*/, childTerms];
|
|
381
404
|
}
|
|
@@ -391,7 +414,14 @@ var SPTermStorePickerService = (function () {
|
|
|
391
414
|
anchorTerms.forEach(function (term) {
|
|
392
415
|
returnTerms.push(_this.convertTermToPickerTerm(term));
|
|
393
416
|
});
|
|
394
|
-
|
|
417
|
+
try {
|
|
418
|
+
if (useSessionStorage && window.sessionStorage) {
|
|
419
|
+
window.sessionStorage.setItem(anchorId, JSON.stringify(returnTerms));
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
// Do nothing
|
|
424
|
+
}
|
|
395
425
|
}
|
|
396
426
|
}
|
|
397
427
|
else {
|
|
@@ -435,9 +465,10 @@ var SPTermStorePickerService = (function () {
|
|
|
435
465
|
resolve(null);
|
|
436
466
|
return;
|
|
437
467
|
}
|
|
468
|
+
var loc = LocalesHelper_1.LocalesHelper.getLocaleId(_this.context.pageContext.cultureInfo.currentUICultureName);
|
|
438
469
|
var data = {
|
|
439
470
|
start: searchText,
|
|
440
|
-
lcid: _this.context.pageContext.web.language,
|
|
471
|
+
lcid: loc !== 0 ? loc : _this.context.pageContext.web.language,
|
|
441
472
|
sspList: _this.cleanGuid(termStore[0].Id),
|
|
442
473
|
termSetList: TermSetId,
|
|
443
474
|
anchorId: _this.props.anchorId ? _this.props.anchorId : Constants_1.EmptyGuid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["services/SPTermStorePickerService.ts"],"names":[],"mappings":"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","file":"services/SPTermStorePickerService.js","sourcesContent":["/**\n * DISCLAIMER\n *\n * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.\n * The service will get updated once the APIs are in place for managing managed metadata.\n */\n\nimport { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http';\nimport { Environment, EnvironmentType } from '@microsoft/sp-core-library';\nimport { IWebPartContext } from '@microsoft/sp-webpart-base';\nimport { ITaxonomyPickerProps } from '../controls/taxonomyPicker/ITaxonomyPicker';\nimport { IPickerTerm } from '../controls/taxonomyPicker/ITermPicker';\nimport { ITermStore, ITerms, ITerm, IGroup, ITermSet, ISuggestTerm } from './ISPTermStorePickerService';\nimport SPTermStoreMockHttpClient from './SPTermStorePickerMockService';\nimport { findIndex } from '@microsoft/sp-lodash-subset';\nimport { ExtensionContext } from '@microsoft/sp-extension-base';\nimport { EmptyGuid } from '../common/Constants';\n\n\n/**\n * Service implementation to manage term stores in SharePoint\n */\nexport default class SPTermStorePickerService {\n private taxonomySession: string;\n private formDigest: string;\n private clientServiceUrl: string;\n private suggestionServiceUrl: string;\n\n /**\n * Service constructor\n */\n constructor(private props: ITaxonomyPickerProps, private context: IWebPartContext | ExtensionContext) {\n if (Environment.type !== EnvironmentType.Local) {\n {\n this.clientServiceUrl = this.context.pageContext.web.absoluteUrl + '/_vti_bin/client.svc/ProcessQuery';\n this.suggestionServiceUrl = this.context.pageContext.web.absoluteUrl + \t\"/_vti_bin/TaxonomyInternalService.json/GetSuggestions\";\n }\n }\n }\n\n public async getTermLabels(termId: string): Promise<string[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return null;\n }\n\n let result = null;\n try {\n const data = `<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\".NET Library\" xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\"><Actions><ObjectPath Id=\"8\" ObjectPathId=\"7\" /><ObjectIdentityQuery Id=\"9\" ObjectPathId=\"7\" /><ObjectPath Id=\"11\" ObjectPathId=\"10\" /><ObjectIdentityQuery Id=\"12\" ObjectPathId=\"10\" /><ObjectPath Id=\"14\" ObjectPathId=\"13\" /><ObjectIdentityQuery Id=\"15\" ObjectPathId=\"13\" /><Query Id=\"16\" ObjectPathId=\"13\"><Query SelectAllProperties=\"false\"><Properties><Property Name=\"Labels\" SelectAll=\"true\"><Query SelectAllProperties=\"false\"><Properties /></Query></Property></Properties></Query></Query></Actions><ObjectPaths><StaticMethod Id=\"7\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"10\" ParentId=\"7\" Name=\"GetDefaultKeywordsTermStore\" /><Method Id=\"13\" ParentId=\"10\" Name=\"GetTerm\"><Parameters><Parameter Type=\"Guid\">${termId}</Parameter></Parameters></Method></ObjectPaths></Request>`;\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n const callResult = await this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);\n const jsonResult = await callResult.json();\n\n let node = jsonResult.find(x => x._ObjectType_ == \"SP.Taxonomy.Term\");\n if (node && node.Labels && node.Labels._Child_Items_) {\n result = node.Labels._Child_Items_.map(termLabel => termLabel.Value);\n }\n } catch (error) {\n result = null;\n console.log(error.message);\n }\n return result;\n }\n\n /**\n * Gets the collection of term stores in the current SharePoint env\n */\n public getTermStores(): Promise<ITermStore[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return this.getTermStoresFromMock();\n } else {\n // Retrieve the term store name, groups, and term sets\n const data = '<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\".NET Library\" xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\"><Actions><ObjectPath Id=\"2\" ObjectPathId=\"1\" /><ObjectIdentityQuery Id=\"3\" ObjectPathId=\"1\" /><ObjectPath Id=\"5\" ObjectPathId=\"4\" /><ObjectIdentityQuery Id=\"6\" ObjectPathId=\"4\" /><Query Id=\"7\" ObjectPathId=\"4\"><Query SelectAllProperties=\"false\"><Properties><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Groups\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"IsSystemGroup\" ScalarProperty=\"true\" /><Property Name=\"TermSets\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"Description\" ScalarProperty=\"true\" /><Property Name=\"Names\" ScalarProperty=\"true\" /></Properties></ChildItemQuery></Property></Properties></ChildItemQuery></Property></Properties></Query></Query></Actions><ObjectPaths><StaticMethod Id=\"1\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"4\" ParentId=\"1\" Name=\"GetDefaultSiteCollectionTermStore\" /></ObjectPaths></Request>';\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n return this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n // Construct results\n let termStoreResult: ITermStore[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermStore');\n // Check if term store was retrieved\n if (termStoreResult.length > 0) {\n // Check if the termstore needs to be filtered or limited\n if (this.props.termsetNameOrID) {\n return termStoreResult.map(termstore => {\n let termGroups = termstore.Groups._Child_Items_;\n\n // Check if the groups have to be limited to a specific term set\n if (this.props.termsetNameOrID) {\n const termsetNameOrId = this.props.termsetNameOrID;\n termGroups = termGroups.map((group: IGroup) => {\n group.TermSets._Child_Items_ = group.TermSets._Child_Items_.filter((termSet: ITermSet) => termSet.Name === termsetNameOrId || this.cleanGuid(termSet.Id).toLowerCase() === this.cleanGuid(termsetNameOrId).toLowerCase());\n return group;\n });\n }\n\n // Filter out all systen groups\n termGroups = termGroups.filter(group => !group.IsSystemGroup);\n\n // Filter out empty groups\n termGroups = termGroups.filter((group: IGroup) => group.TermSets._Child_Items_.length > 0);\n\n // Map the new groups\n termstore.Groups._Child_Items_ = termGroups;\n return termstore;\n });\n }\n\n // Return the term store results\n return termStoreResult;\n }\n return [];\n });\n });\n }\n }\n\n /**\n * Gets the current term set\n */\n public async getTermSet(): Promise<ITermSet> {\n if (Environment.type === EnvironmentType.Local) {\n const termSetInfo = await SPTermStoreMockHttpClient.getAllTerms();\n return termSetInfo;\n } else {\n const termStore = await this.getTermStores();\n return this.getTermSetId(termStore, this.props.termsetNameOrID);\n }\n }\n\n /**\n * Retrieve all terms for the given term set\n * @param termset\n */\n public async getAllTerms(termset: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean): Promise<ITermSet> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return this.getAllMockTerms();\n } else {\n let termsetId: string = termset;\n // Check if the provided term set property is a GUID or string\n if (!this.isGuid(termset)) {\n // Fetch the term store information\n const termStore = await this.getTermStores();\n // Get the ID of the provided term set name\n const crntTermSet = this.getTermSetId(termStore, termset);\n if (crntTermSet) {\n termsetId = this.cleanGuid(crntTermSet.Id);\n } else {\n return null;\n }\n }\n\n let childTerms = this.getTermsById(termsetId);\n\n if (childTerms) {\n return childTerms;\n }\n\n // Request body to retrieve all terms for the given term set\n const data = `<Request xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\"Javascript Library\"><Actions><ObjectPath Id=\"1\" ObjectPathId=\"0\" /><ObjectIdentityQuery Id=\"2\" ObjectPathId=\"0\" /><ObjectPath Id=\"4\" ObjectPathId=\"3\" /><ObjectIdentityQuery Id=\"5\" ObjectPathId=\"3\" /><ObjectPath Id=\"7\" ObjectPathId=\"6\" /><ObjectIdentityQuery Id=\"8\" ObjectPathId=\"6\" /><ObjectPath Id=\"10\" ObjectPathId=\"9\" /><Query Id=\"11\" ObjectPathId=\"6\"><Query SelectAllProperties=\"true\"><Properties /></Query></Query><Query Id=\"12\" ObjectPathId=\"9\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"IsRoot\" SelectAll=\"true\" /><Property Name=\"Labels\" SelectAll=\"true\" /><Property Name=\"TermsCount\" SelectAll=\"true\" /><Property Name=\"CustomSortOrder\" SelectAll=\"true\" /><Property Name=\"Id\" SelectAll=\"true\" /><Property Name=\"Name\" SelectAll=\"true\" /><Property Name=\"PathOfTerm\" SelectAll=\"true\" /><Property Name=\"Parent\" SelectAll=\"true\" /><Property Name=\"LocalCustomProperties\" SelectAll=\"true\" /><Property Name=\"IsDeprecated\" ScalarProperty=\"true\" /><Property Name=\"IsAvailableForTagging\" ScalarProperty=\"true\" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id=\"0\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"3\" ParentId=\"0\" Name=\"GetDefaultKeywordsTermStore\" /><Method Id=\"6\" ParentId=\"3\" Name=\"GetTermSet\"><Parameters><Parameter Type=\"Guid\">${termsetId}</Parameter></Parameters></Method><Method Id=\"9\" ParentId=\"6\" Name=\"GetAllTerms\" /></ObjectPaths></Request>`;\n\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n return this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n const termStoreResultTermSets: ITermSet[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermSet');\n\n if (termStoreResultTermSets.length > 0) {\n var termStoreResultTermSet = termStoreResultTermSets[0];\n termStoreResultTermSet.Terms = [];\n // Retrieve the term collection results\n const termStoreResultTerms: ITerms[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermCollection');\n if (termStoreResultTerms.length > 0) {\n // Retrieve all terms\n let terms = termStoreResultTerms[0]._Child_Items_;\n\n if (hideDeprecatedTags === true) {\n terms = terms.filter(d => d[\"IsDeprecated\"] === false);\n }\n\n if (hideTagsNotAvailableForTagging === true) {\n terms = terms.filter(d => d[\"IsAvailableForTagging\"] === true);\n }\n\n // Clean the term ID and specify the path depth\n terms = terms.map(term => {\n if (term.IsRoot) {\n term.CustomSortOrderIndex = (termStoreResultTermSet.CustomSortOrder) ? termStoreResultTermSet.CustomSortOrder.split(\":\").indexOf(this.cleanGuid(term.Id)) : -1;\n } else {\n term.CustomSortOrderIndex = (term[\"Parent\"].CustomSortOrder) ? term[\"Parent\"].CustomSortOrder.split(\":\").indexOf(this.cleanGuid(term.Id)) : -1;\n }\n term.Id = this.cleanGuid(term.Id);\n term['PathDepth'] = term.PathOfTerm.split(';').length;\n term.TermSet = { Id: this.cleanGuid(termStoreResultTermSet.Id), Name: termStoreResultTermSet.Name };\n if (term[\"Parent\"]) {\n term.ParentId = this.cleanGuid(term[\"Parent\"].Id);\n }\n return term;\n });\n // Check if the term set was not empty\n if (terms.length > 0) {\n // Sort the terms by PathOfTerm and their depth\n terms = this.sortTerms(terms);\n termStoreResultTermSet.Terms = terms;\n }\n }\n\n sessionStorage.setItem(termsetId, JSON.stringify(termStoreResultTermSet));\n return termStoreResultTermSet;\n }\n return null;\n });\n });\n }\n }\n\n /**\n * Get the term set ID by its name\n * @param termstore\n * @param termset\n */\n private getTermSetId(termstore: ITermStore[], termsetName: string): ITermSet {\n if (termstore && termstore.length > 0 && termsetName) {\n // Get the first term store\n const ts = termstore[0];\n // Check if the term store contains groups\n if (ts.Groups && ts.Groups._Child_Items_) {\n for (const group of ts.Groups._Child_Items_) {\n // Check if the group contains term sets\n if (group.TermSets && group.TermSets._Child_Items_) {\n for (const termSet of group.TermSets._Child_Items_) {\n // Check if the term set is found\n if (termSet.Name === termsetName) {\n return termSet;\n }\n }\n }\n }\n }\n }\n\n return null;\n }\n\n\n /**\n * Retrieve all terms that starts with the searchText\n * @param searchText\n */\n public searchTermsByName(searchText: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n return this.searchTermsByTermSet(searchText);\n }\n }\n\n private getTermsById(termId) {\n var terms = sessionStorage.getItem(termId);\n if (terms)\n return JSON.parse(terms);\n else\n return null;\n }\n\n private searchTermsBySearchText(terms, searchText) {\n if (terms) {\n return terms.filter((t) => { return t.name.toLowerCase().indexOf(searchText.toLowerCase()) > -1; });\n }\n else\n return [];\n }\n\n public async searchTermsByTermId(searchText: string, termId: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n var childTerms = this.getTermsById(termId);\n if (childTerms) {\n return this.searchTermsBySearchText(childTerms, searchText);\n }\n else {\n const {\n termsetNameOrID,\n hideDeprecatedTags,\n hideTagsNotAvailableForTagging\n } = this.props;\n\n const terms = await this.getAllTermsByAnchorId(\n termsetNameOrID,\n termId,\n hideDeprecatedTags,\n hideTagsNotAvailableForTagging);\n\n if (terms) {\n return this.searchTermsBySearchText(terms, searchText);\n }\n }\n\n return null;\n }\n }\n\n /**\n * Retrieve all terms for the given term set and anchorId\n */\n public async getAllTermsByAnchorId(termsetNameOrID: string, anchorId: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean): Promise<IPickerTerm[]> {\n\n let returnTerms: IPickerTerm[] = [];\n\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n let terms = await this.getAllMockTermsByAnchor();\n terms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n } else {\n const childTerms = this.getTermsById(anchorId);\n if (childTerms) {\n return childTerms;\n }\n\n let termSet = await this.getAllTerms(termsetNameOrID, hideDeprecatedTags, hideTagsNotAvailableForTagging);\n let terms = termSet.Terms;\n if (anchorId) {\n const anchorTerm = terms.filter(t => t.Id.toLowerCase() === anchorId.toLowerCase()).shift();\n if (anchorTerm) {\n // Append ';' separator, as a suffix to anchor term path.\n const anchorTermPath = `${anchorTerm.PathOfTerm};`;\n const anchorTerms: ITerm[] = terms.filter(t => t.PathOfTerm.substring(0, anchorTermPath.length) === anchorTermPath && t.Id !== anchorTerm.Id);\n\n anchorTerms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n\n sessionStorage.setItem(anchorId, JSON.stringify(returnTerms));\n }\n } else {\n terms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n }\n }\n\n return returnTerms;\n }\n\n /**\n * Searches terms for the given term set\n * @param searchText\n * @param termsetId\n */\n private searchTermsByTermSet(searchText: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n return new Promise<IPickerTerm[]>(resolve => {\n this.getTermStores().then(termStore => {\n let TermSetId = this.props.termsetNameOrID;\n if (!this.isGuid(TermSetId)) {\n // Get the ID of the provided term set name\n const crntTermSet = this.getTermSetId(termStore, TermSetId);\n if (crntTermSet) {\n TermSetId = this.cleanGuid(crntTermSet.Id);\n } else {\n resolve(null);\n return;\n }\n }\n if (termStore === undefined || termStore.length === 0) {\n resolve(null);\n return;\n }\n\n let data = {\n start: searchText,\n lcid : this.context.pageContext.web.language, // TODO : get the user's navitation LCID. Here it's the default web language LCID\n sspList: this.cleanGuid(termStore[0].Id),\n termSetList: TermSetId,\n anchorId: this.props.anchorId ? this.props.anchorId : EmptyGuid,\n isSpanTermStores: false,\n isSpanTermSets: false,\n isIncludeUnavailable: this.props.hideTagsNotAvailableForTagging === true,\n isIncludeDeprecated: this.props.hideDeprecatedTags === true,\n isAddTerms: false,\n isIncludePathData: false,\n excludeKeyword: false,\n excludedTermset: EmptyGuid\n };\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/json\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: JSON.stringify(data)\n };\n\n\n return this.context.spHttpClient.post(this.suggestionServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n const groups = serviceJSONResponse.d.Groups;\n if (groups && groups.length > 0) {\n // Retrieve the term collection results\n const terms: ISuggestTerm[] = groups[0].Suggestions;\n if (terms.length > 0) {\n // Retrieve all terms\n\n let returnTerms: IPickerTerm[] = terms.map((term: ISuggestTerm) => this.convertSuggestTermToPickerTerm(term));\n resolve(returnTerms);\n return;\n }\n\n }\n\n resolve([]);\n });\n });\n });\n });\n }\n }\n\n private isGuid(strGuid: string): boolean {\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(strGuid);\n }\n\n /**\n * Sorting terms based on their path and depth\n *\n * @param terms\n */\n private sortTerms(terms: ITerm[]) {\n // Start sorting by depth\n let newTermsOrder: ITerm[] = [];\n let itemsToSort = true;\n let pathLevel = 1;\n while (itemsToSort) {\n // Get terms for the current level\n let crntTerms = terms.filter(term => term.PathDepth === pathLevel);\n if (crntTerms && crntTerms.length > 0) {\n crntTerms = crntTerms.sort(this.sortTermByPath);\n\n if (pathLevel !== 1) {\n crntTerms = crntTerms.reverse();\n for (const crntTerm of crntTerms) {\n const pathElms = crntTerm.PathOfTerm.split(\";\");\n // Last item is not needed for parent path\n pathElms.pop();\n // Find the parent item and add the new item\n const idx = findIndex(newTermsOrder, term => term.PathOfTerm === pathElms.join(\";\"));\n if (idx !== -1) {\n newTermsOrder.splice(idx + 1, 0, crntTerm);\n } else {\n // Push the item at the end if the parent couldn't be found\n newTermsOrder.push(crntTerm);\n }\n }\n } else {\n newTermsOrder = crntTerms;\n }\n\n ++pathLevel;\n } else {\n itemsToSort = false;\n }\n }\n return newTermsOrder;\n }\n\n /**\n * Sort the terms by their path\n *\n * @param a term 2\n * @param b term 2\n */\n private sortTermByPath(a: ITerm, b: ITerm) {\n if (a.CustomSortOrderIndex === -1) {\n if (a.PathOfTerm.toLowerCase() < b.PathOfTerm.toLowerCase()) {\n return -1;\n }\n if (a.PathOfTerm.toLowerCase() > b.PathOfTerm.toLowerCase()) {\n return 1;\n }\n return 0;\n } else {\n if (a.CustomSortOrderIndex < b.CustomSortOrderIndex) {\n return -1;\n }\n if (a.CustomSortOrderIndex > b.CustomSortOrderIndex) {\n return 1;\n }\n return 0;\n }\n }\n\n /**\n * Clean the Guid from the Web Service response\n * @param guid\n */\n public cleanGuid(guid: string): string {\n if (guid !== undefined) {\n return guid.replace('/Guid(', '').replace('/', '').replace(')', '');\n } else {\n return '';\n }\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getTermStoresFromMock(): Promise<ITermStore[]> {\n return SPTermStoreMockHttpClient.getTermStores(this.context.pageContext.web.absoluteUrl).then((data) => {\n return data;\n }) as Promise<ITermStore[]>;\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getAllMockTerms(): Promise<ITermSet> {\n return SPTermStoreMockHttpClient.getAllTerms().then((data) => {\n return data;\n }) as Promise<ITermSet>;\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getAllMockTermsByAnchor(): Promise<ITerm[]> {\n return SPTermStoreMockHttpClient.getAllTermsByAnchorId().then((data) => {\n return data;\n }) as Promise<ITerm[]>;\n }\n\n private convertTermToPickerTerm(term: ITerm): IPickerTerm {\n return {\n key: this.cleanGuid(term.Id),\n name: term.Name,\n path: term.PathOfTerm,\n termSet: this.cleanGuid(term.TermSet.Id),\n termSetName: term.TermSet.Name\n };\n }\n\n private convertSuggestTermToPickerTerm(term: ISuggestTerm): IPickerTerm {\n let path: string = \"\";\n let termSetName: string = \"\";\n if (term.Paths && term.Paths.length > 0) {\n const fullPath = term.Paths[0].replace(/^\\[/, \"\").replace(/\\]$/, \"\");\n const fullPathParts = fullPath.split(\":\");\n path = fullPathParts.join(\";\") + \";\" + term.DefaultLabel;\n termSetName = fullPathParts[0];\n }\n return {\n key: this.cleanGuid(term.Id),\n name: term.DefaultLabel,\n path: path,\n termSet: EmptyGuid, // TermSet Guid is not given with suggestion\n termSetName: termSetName\n };\n }\n}\n"],"sourceRoot":"../../src"}
|
|
1
|
+
{"version":3,"sources":["services/SPTermStorePickerService.ts"],"names":[],"mappings":"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","file":"services/SPTermStorePickerService.js","sourcesContent":["/**\n * DISCLAIMER\n *\n * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.\n * The service will get updated once the APIs are in place for managing managed metadata.\n */\n\nimport { SPHttpClient, SPHttpClientResponse, ISPHttpClientOptions } from '@microsoft/sp-http';\nimport { Environment, EnvironmentType } from '@microsoft/sp-core-library';\nimport { IWebPartContext } from '@microsoft/sp-webpart-base';\nimport { ITaxonomyPickerProps } from '../controls/taxonomyPicker/ITaxonomyPicker';\nimport { IPickerTerm } from '../controls/taxonomyPicker/ITermPicker';\nimport { ITermStore, ITerms, ITerm, IGroup, ITermSet, ISuggestTerm } from './ISPTermStorePickerService';\nimport SPTermStoreMockHttpClient from './SPTermStorePickerMockService';\nimport { findIndex } from '@microsoft/sp-lodash-subset';\nimport { ExtensionContext } from '@microsoft/sp-extension-base';\nimport { EmptyGuid } from '../common/Constants';\nimport { LocalesHelper } from '../common/utilities/LocalesHelper';\n\n/**\n * Service implementation to manage term stores in SharePoint\n */\nexport default class SPTermStorePickerService {\n private taxonomySession: string;\n private formDigest: string;\n private clientServiceUrl: string;\n private suggestionServiceUrl: string;\n\n /**\n * Service constructor\n */\n constructor(private props: ITaxonomyPickerProps, private context: IWebPartContext | ExtensionContext) {\n if (Environment.type !== EnvironmentType.Local) {\n {\n this.clientServiceUrl = this.context.pageContext.web.absoluteUrl + '/_vti_bin/client.svc/ProcessQuery';\n this.suggestionServiceUrl = this.context.pageContext.web.absoluteUrl + \t\"/_vti_bin/TaxonomyInternalService.json/GetSuggestions\";\n }\n }\n }\n\n public async getTermLabels(termId: string): Promise<string[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return null;\n }\n\n let result = null;\n try {\n const data = `<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\".NET Library\" xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\"><Actions><ObjectPath Id=\"8\" ObjectPathId=\"7\" /><ObjectIdentityQuery Id=\"9\" ObjectPathId=\"7\" /><ObjectPath Id=\"11\" ObjectPathId=\"10\" /><ObjectIdentityQuery Id=\"12\" ObjectPathId=\"10\" /><ObjectPath Id=\"14\" ObjectPathId=\"13\" /><ObjectIdentityQuery Id=\"15\" ObjectPathId=\"13\" /><Query Id=\"16\" ObjectPathId=\"13\"><Query SelectAllProperties=\"false\"><Properties><Property Name=\"Labels\" SelectAll=\"true\"><Query SelectAllProperties=\"false\"><Properties /></Query></Property></Properties></Query></Query></Actions><ObjectPaths><StaticMethod Id=\"7\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"10\" ParentId=\"7\" Name=\"GetDefaultKeywordsTermStore\" /><Method Id=\"13\" ParentId=\"10\" Name=\"GetTerm\"><Parameters><Parameter Type=\"Guid\">${termId}</Parameter></Parameters></Method></ObjectPaths></Request>`;\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n const callResult = await this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions);\n const jsonResult = await callResult.json();\n\n let node = jsonResult.find(x => x._ObjectType_ == \"SP.Taxonomy.Term\");\n if (node && node.Labels && node.Labels._Child_Items_) {\n result = node.Labels._Child_Items_.map(termLabel => termLabel.Value);\n }\n } catch (error) {\n result = null;\n console.log(error.message);\n }\n return result;\n }\n\n /**\n * Gets the collection of term stores in the current SharePoint env\n */\n public getTermStores(): Promise<ITermStore[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return this.getTermStoresFromMock();\n } else {\n // Retrieve the term store name, groups, and term sets\n const data = '<Request AddExpandoFieldTypeSuffix=\"true\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\".NET Library\" xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\"><Actions><ObjectPath Id=\"2\" ObjectPathId=\"1\" /><ObjectIdentityQuery Id=\"3\" ObjectPathId=\"1\" /><ObjectPath Id=\"5\" ObjectPathId=\"4\" /><ObjectIdentityQuery Id=\"6\" ObjectPathId=\"4\" /><Query Id=\"7\" ObjectPathId=\"4\"><Query SelectAllProperties=\"false\"><Properties><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Groups\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"IsSystemGroup\" ScalarProperty=\"true\" /><Property Name=\"TermSets\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"Name\" ScalarProperty=\"true\" /><Property Name=\"Id\" ScalarProperty=\"true\" /><Property Name=\"Description\" ScalarProperty=\"true\" /><Property Name=\"Names\" ScalarProperty=\"true\" /></Properties></ChildItemQuery></Property></Properties></ChildItemQuery></Property></Properties></Query></Query></Actions><ObjectPaths><StaticMethod Id=\"1\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"4\" ParentId=\"1\" Name=\"GetDefaultSiteCollectionTermStore\" /></ObjectPaths></Request>';\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n return this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n // Construct results\n let termStoreResult: ITermStore[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermStore');\n // Check if term store was retrieved\n if (termStoreResult.length > 0) {\n // Check if the termstore needs to be filtered or limited\n if (this.props.termsetNameOrID) {\n return termStoreResult.map(termstore => {\n let termGroups = termstore.Groups._Child_Items_;\n\n // Check if the groups have to be limited to a specific term set\n if (this.props.termsetNameOrID) {\n const termsetNameOrId = this.props.termsetNameOrID;\n termGroups = termGroups.map((group: IGroup) => {\n group.TermSets._Child_Items_ = group.TermSets._Child_Items_.filter((termSet: ITermSet) => termSet.Name === termsetNameOrId || this.cleanGuid(termSet.Id).toLowerCase() === this.cleanGuid(termsetNameOrId).toLowerCase());\n return group;\n });\n }\n\n // Filter out all systen groups\n termGroups = termGroups.filter(group => !group.IsSystemGroup);\n\n // Filter out empty groups\n termGroups = termGroups.filter((group: IGroup) => group.TermSets._Child_Items_.length > 0);\n\n // Map the new groups\n termstore.Groups._Child_Items_ = termGroups;\n return termstore;\n });\n }\n\n // Return the term store results\n return termStoreResult;\n }\n return [];\n });\n });\n }\n }\n\n /**\n * Gets the current term set\n */\n public async getTermSet(): Promise<ITermSet> {\n if (Environment.type === EnvironmentType.Local) {\n const termSetInfo = await SPTermStoreMockHttpClient.getAllTerms();\n return termSetInfo;\n } else {\n const termStore = await this.getTermStores();\n return this.getTermSetId(termStore, this.props.termsetNameOrID);\n }\n }\n\n /**\n * Retrieve all terms for the given term set\n * @param termset\n */\n public async getAllTerms(termset: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean, useSessionStorage: boolean = true): Promise<ITermSet> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return this.getAllMockTerms();\n } else {\n let termsetId: string = termset;\n // Check if the provided term set property is a GUID or string\n if (!this.isGuid(termset)) {\n // Fetch the term store information\n const termStore = await this.getTermStores();\n // Get the ID of the provided term set name\n const crntTermSet = this.getTermSetId(termStore, termset);\n if (crntTermSet) {\n termsetId = this.cleanGuid(crntTermSet.Id);\n } else {\n return null;\n }\n }\n\n let childTerms = this.getTermsById(termsetId, useSessionStorage);\n\n if (childTerms) {\n return childTerms;\n }\n\n // Request body to retrieve all terms for the given term set\n const data = `<Request xmlns=\"http://schemas.microsoft.com/sharepoint/clientquery/2009\" SchemaVersion=\"15.0.0.0\" LibraryVersion=\"16.0.0.0\" ApplicationName=\"Javascript Library\"><Actions><ObjectPath Id=\"1\" ObjectPathId=\"0\" /><ObjectIdentityQuery Id=\"2\" ObjectPathId=\"0\" /><ObjectPath Id=\"4\" ObjectPathId=\"3\" /><ObjectIdentityQuery Id=\"5\" ObjectPathId=\"3\" /><ObjectPath Id=\"7\" ObjectPathId=\"6\" /><ObjectIdentityQuery Id=\"8\" ObjectPathId=\"6\" /><ObjectPath Id=\"10\" ObjectPathId=\"9\" /><Query Id=\"11\" ObjectPathId=\"6\"><Query SelectAllProperties=\"true\"><Properties /></Query></Query><Query Id=\"12\" ObjectPathId=\"9\"><Query SelectAllProperties=\"false\"><Properties /></Query><ChildItemQuery SelectAllProperties=\"false\"><Properties><Property Name=\"IsRoot\" SelectAll=\"true\" /><Property Name=\"Labels\" SelectAll=\"true\" /><Property Name=\"TermsCount\" SelectAll=\"true\" /><Property Name=\"CustomSortOrder\" SelectAll=\"true\" /><Property Name=\"Id\" SelectAll=\"true\" /><Property Name=\"Name\" SelectAll=\"true\" /><Property Name=\"PathOfTerm\" SelectAll=\"true\" /><Property Name=\"Parent\" SelectAll=\"true\" /><Property Name=\"LocalCustomProperties\" SelectAll=\"true\" /><Property Name=\"IsDeprecated\" ScalarProperty=\"true\" /><Property Name=\"IsAvailableForTagging\" ScalarProperty=\"true\" /></Properties></ChildItemQuery></Query></Actions><ObjectPaths><StaticMethod Id=\"0\" Name=\"GetTaxonomySession\" TypeId=\"{981cbc68-9edc-4f8d-872f-71146fcbb84f}\" /><Method Id=\"3\" ParentId=\"0\" Name=\"GetDefaultKeywordsTermStore\" /><Method Id=\"6\" ParentId=\"3\" Name=\"GetTermSet\"><Parameters><Parameter Type=\"Guid\">${termsetId}</Parameter></Parameters></Method><Method Id=\"9\" ParentId=\"6\" Name=\"GetAllTerms\" /></ObjectPaths></Request>`;\n\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/xml\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: data\n };\n\n return this.context.spHttpClient.post(this.clientServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n const termStoreResultTermSets: ITermSet[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermSet');\n\n if (termStoreResultTermSets.length > 0) {\n var termStoreResultTermSet = termStoreResultTermSets[0];\n termStoreResultTermSet.Terms = [];\n // Retrieve the term collection results\n const termStoreResultTerms: ITerms[] = serviceJSONResponse.filter((r: { [x: string]: string; }) => r['_ObjectType_'] === 'SP.Taxonomy.TermCollection');\n if (termStoreResultTerms.length > 0) {\n // Retrieve all terms\n let terms = termStoreResultTerms[0]._Child_Items_;\n\n if (hideDeprecatedTags === true) {\n terms = terms.filter(d => d[\"IsDeprecated\"] === false);\n }\n\n if (hideTagsNotAvailableForTagging === true) {\n terms = terms.filter(d => d[\"IsAvailableForTagging\"] === true);\n }\n\n // Clean the term ID and specify the path depth\n terms = terms.map(term => {\n if (term.IsRoot) {\n term.CustomSortOrderIndex = (termStoreResultTermSet.CustomSortOrder) ? termStoreResultTermSet.CustomSortOrder.split(\":\").indexOf(this.cleanGuid(term.Id)) : -1;\n } else {\n term.CustomSortOrderIndex = (term[\"Parent\"].CustomSortOrder) ? term[\"Parent\"].CustomSortOrder.split(\":\").indexOf(this.cleanGuid(term.Id)) : -1;\n }\n term.Id = this.cleanGuid(term.Id);\n term['PathDepth'] = term.PathOfTerm.split(';').length;\n term.TermSet = { Id: this.cleanGuid(termStoreResultTermSet.Id), Name: termStoreResultTermSet.Name };\n if (term[\"Parent\"]) {\n term.ParentId = this.cleanGuid(term[\"Parent\"].Id);\n }\n return term;\n });\n // Check if the term set was not empty\n if (terms.length > 0) {\n // Sort the terms by PathOfTerm and their depth\n terms = this.sortTerms(terms);\n termStoreResultTermSet.Terms = terms;\n }\n }\n\n try {\n if (useSessionStorage && window.sessionStorage) {\n window.sessionStorage.setItem(termsetId, JSON.stringify(termStoreResultTermSet));\n }\n } catch (error) {\n // Do nothing, sometimes storage quota exceed error if too many items\n }\n return termStoreResultTermSet;\n }\n return null;\n });\n });\n }\n }\n\n /**\n * Get the term set ID by its name\n * @param termstore\n * @param termset\n */\n private getTermSetId(termstore: ITermStore[], termsetName: string): ITermSet {\n if (termstore && termstore.length > 0 && termsetName) {\n // Get the first term store\n const ts = termstore[0];\n // Check if the term store contains groups\n if (ts.Groups && ts.Groups._Child_Items_) {\n for (const group of ts.Groups._Child_Items_) {\n // Check if the group contains term sets\n if (group.TermSets && group.TermSets._Child_Items_) {\n for (const termSet of group.TermSets._Child_Items_) {\n // Check if the term set is found\n if (termSet.Name === termsetName) {\n return termSet;\n }\n }\n }\n }\n }\n }\n\n return null;\n }\n\n\n /**\n * Retrieve all terms that starts with the searchText\n * @param searchText\n */\n public searchTermsByName(searchText: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n return this.searchTermsByTermSet(searchText);\n }\n }\n\n private getTermsById(termId, useSessionStorage: boolean = true) {\n try {\n if (useSessionStorage && window.sessionStorage) {\n let terms = window.sessionStorage.getItem(termId);\n if (terms)\n return JSON.parse(terms);\n else {\n return null;\n }\n } else {\n return null;\n }\n } catch (error) {\n return null;\n }\n }\n\n private searchTermsBySearchText(terms, searchText) {\n if (terms) {\n return terms.filter((t) => { return t.name.toLowerCase().indexOf(searchText.toLowerCase()) > -1; });\n }\n else\n return [];\n }\n\n public async searchTermsByTermId(searchText: string, termId: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n const { useSessionStorage } = this.props;\n let childTerms = this.getTermsById(termId, useSessionStorage);\n if (childTerms) {\n return this.searchTermsBySearchText(childTerms, searchText);\n }\n else {\n const {\n termsetNameOrID,\n hideDeprecatedTags,\n hideTagsNotAvailableForTagging\n } = this.props;\n\n const terms = await this.getAllTermsByAnchorId(\n termsetNameOrID,\n termId,\n hideDeprecatedTags,\n hideTagsNotAvailableForTagging,\n useSessionStorage);\n\n if (terms) {\n return this.searchTermsBySearchText(terms, searchText);\n }\n }\n\n return null;\n }\n }\n\n /**\n * Retrieve all terms for the given term set and anchorId\n */\n public async getAllTermsByAnchorId(termsetNameOrID: string, anchorId: string, hideDeprecatedTags?: boolean, hideTagsNotAvailableForTagging?: boolean, useSessionStorage: boolean = true): Promise<IPickerTerm[]> {\n\n let returnTerms: IPickerTerm[] = [];\n\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n let terms = await this.getAllMockTermsByAnchor();\n terms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n } else {\n const childTerms = this.getTermsById(anchorId, useSessionStorage);\n if (childTerms) {\n return childTerms;\n }\n\n let termSet = await this.getAllTerms(termsetNameOrID, hideDeprecatedTags, hideTagsNotAvailableForTagging);\n let terms = termSet.Terms;\n if (anchorId) {\n const anchorTerm = terms.filter(t => t.Id.toLowerCase() === anchorId.toLowerCase()).shift();\n if (anchorTerm) {\n // Append ';' separator, as a suffix to anchor term path.\n const anchorTermPath = `${anchorTerm.PathOfTerm};`;\n const anchorTerms: ITerm[] = terms.filter(t => t.PathOfTerm.substring(0, anchorTermPath.length) === anchorTermPath && t.Id !== anchorTerm.Id);\n\n anchorTerms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n\n try {\n if (useSessionStorage && window.sessionStorage) {\n window.sessionStorage.setItem(anchorId, JSON.stringify(returnTerms));\n }\n } catch (error) {\n // Do nothing\n }\n }\n } else {\n terms.forEach(term => {\n returnTerms.push(this.convertTermToPickerTerm(term));\n });\n }\n }\n\n return returnTerms;\n }\n\n /**\n * Searches terms for the given term set\n * @param searchText\n * @param termsetId\n */\n private searchTermsByTermSet(searchText: string): Promise<IPickerTerm[]> {\n if (Environment.type === EnvironmentType.Local) {\n // If the running environment is local, load the data from the mock\n return SPTermStoreMockHttpClient.searchTermsByName(searchText);\n } else {\n return new Promise<IPickerTerm[]>(resolve => {\n this.getTermStores().then(termStore => {\n let TermSetId = this.props.termsetNameOrID;\n if (!this.isGuid(TermSetId)) {\n // Get the ID of the provided term set name\n const crntTermSet = this.getTermSetId(termStore, TermSetId);\n if (crntTermSet) {\n TermSetId = this.cleanGuid(crntTermSet.Id);\n } else {\n resolve(null);\n return;\n }\n }\n if (termStore === undefined || termStore.length === 0) {\n resolve(null);\n return;\n }\n let loc = LocalesHelper.getLocaleId(this.context.pageContext.cultureInfo.currentUICultureName);\n let data = {\n start: searchText,\n lcid: loc !== 0 ? loc : this.context.pageContext.web.language,\n sspList: this.cleanGuid(termStore[0].Id),\n termSetList: TermSetId,\n anchorId: this.props.anchorId ? this.props.anchorId : EmptyGuid,\n isSpanTermStores: false,\n isSpanTermSets: false,\n isIncludeUnavailable: this.props.hideTagsNotAvailableForTagging === true,\n isIncludeDeprecated: this.props.hideDeprecatedTags === true,\n isAddTerms: false,\n isIncludePathData: false,\n excludeKeyword: false,\n excludedTermset: EmptyGuid\n };\n\n const reqHeaders = new Headers();\n reqHeaders.append(\"accept\", \"application/json\");\n reqHeaders.append(\"content-type\", \"application/json\");\n\n const httpPostOptions: ISPHttpClientOptions = {\n headers: reqHeaders,\n body: JSON.stringify(data)\n };\n\n\n return this.context.spHttpClient.post(this.suggestionServiceUrl, SPHttpClient.configurations.v1, httpPostOptions).then((serviceResponse: SPHttpClientResponse) => {\n return serviceResponse.json().then((serviceJSONResponse: any) => {\n const groups = serviceJSONResponse.d.Groups;\n if (groups && groups.length > 0) {\n // Retrieve the term collection results\n const terms: ISuggestTerm[] = groups[0].Suggestions;\n if (terms.length > 0) {\n // Retrieve all terms\n\n let returnTerms: IPickerTerm[] = terms.map((term: ISuggestTerm) => this.convertSuggestTermToPickerTerm(term));\n resolve(returnTerms);\n return;\n }\n\n }\n\n resolve([]);\n });\n });\n });\n });\n }\n }\n\n private isGuid(strGuid: string): boolean {\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(strGuid);\n }\n\n /**\n * Sorting terms based on their path and depth\n *\n * @param terms\n */\n private sortTerms(terms: ITerm[]) {\n // Start sorting by depth\n let newTermsOrder: ITerm[] = [];\n let itemsToSort = true;\n let pathLevel = 1;\n while (itemsToSort) {\n // Get terms for the current level\n let crntTerms = terms.filter(term => term.PathDepth === pathLevel);\n if (crntTerms && crntTerms.length > 0) {\n crntTerms = crntTerms.sort(this.sortTermByPath);\n\n if (pathLevel !== 1) {\n crntTerms = crntTerms.reverse();\n for (const crntTerm of crntTerms) {\n const pathElms = crntTerm.PathOfTerm.split(\";\");\n // Last item is not needed for parent path\n pathElms.pop();\n // Find the parent item and add the new item\n const idx = findIndex(newTermsOrder, term => term.PathOfTerm === pathElms.join(\";\"));\n if (idx !== -1) {\n newTermsOrder.splice(idx + 1, 0, crntTerm);\n } else {\n // Push the item at the end if the parent couldn't be found\n newTermsOrder.push(crntTerm);\n }\n }\n } else {\n newTermsOrder = crntTerms;\n }\n\n ++pathLevel;\n } else {\n itemsToSort = false;\n }\n }\n return newTermsOrder;\n }\n\n /**\n * Sort the terms by their path\n *\n * @param a term 2\n * @param b term 2\n */\n private sortTermByPath(a: ITerm, b: ITerm) {\n if (a.CustomSortOrderIndex === -1) {\n if (a.PathOfTerm.toLowerCase() < b.PathOfTerm.toLowerCase()) {\n return -1;\n }\n if (a.PathOfTerm.toLowerCase() > b.PathOfTerm.toLowerCase()) {\n return 1;\n }\n return 0;\n } else {\n if (a.CustomSortOrderIndex < b.CustomSortOrderIndex) {\n return -1;\n }\n if (a.CustomSortOrderIndex > b.CustomSortOrderIndex) {\n return 1;\n }\n return 0;\n }\n }\n\n /**\n * Clean the Guid from the Web Service response\n * @param guid\n */\n public cleanGuid(guid: string): string {\n if (guid !== undefined) {\n return guid.replace('/Guid(', '').replace('/', '').replace(')', '');\n } else {\n return '';\n }\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getTermStoresFromMock(): Promise<ITermStore[]> {\n return SPTermStoreMockHttpClient.getTermStores(this.context.pageContext.web.absoluteUrl).then((data) => {\n return data;\n }) as Promise<ITermStore[]>;\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getAllMockTerms(): Promise<ITermSet> {\n return SPTermStoreMockHttpClient.getAllTerms().then((data) => {\n return data;\n }) as Promise<ITermSet>;\n }\n\n /**\n * Returns 3 fake SharePoint lists for the Mock mode\n */\n private getAllMockTermsByAnchor(): Promise<ITerm[]> {\n return SPTermStoreMockHttpClient.getAllTermsByAnchorId().then((data) => {\n return data;\n }) as Promise<ITerm[]>;\n }\n\n private convertTermToPickerTerm(term: ITerm): IPickerTerm {\n return {\n key: this.cleanGuid(term.Id),\n name: term.Name,\n path: term.PathOfTerm,\n termSet: this.cleanGuid(term.TermSet.Id),\n termSetName: term.TermSet.Name\n };\n }\n\n private convertSuggestTermToPickerTerm(term: ISuggestTerm): IPickerTerm {\n let path: string = \"\";\n let termSetName: string = \"\";\n if (term.Paths && term.Paths.length > 0) {\n const fullPath = term.Paths[0].replace(/^\\[/, \"\").replace(/\\]$/, \"\");\n const fullPathParts = fullPath.split(\":\");\n path = fullPathParts.join(\";\") + \";\" + term.DefaultLabel;\n termSetName = fullPathParts[0];\n }\n return {\n key: this.cleanGuid(term.Id),\n name: term.DefaultLabel,\n path: path,\n termSet: EmptyGuid, // TermSet Guid is not given with suggestion\n termSetName: termSetName\n };\n }\n}\n"],"sourceRoot":"../../src"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnp/spfx-controls-react",
|
|
3
3
|
"description": "Reusable React controls for SharePoint Framework solutions",
|
|
4
|
-
"version": "1.21.
|
|
4
|
+
"version": "1.21.5",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=0.10.0"
|
|
7
7
|
},
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@types/chart.js": "2.7.40",
|
|
29
29
|
"chart.js": "2.7.3",
|
|
30
30
|
"color": "^3.1.2",
|
|
31
|
-
"lodash": "4.17.
|
|
31
|
+
"lodash": "4.17.21",
|
|
32
32
|
"office-ui-fabric-react": "5.131.0",
|
|
33
33
|
"react-quill": "1.3.3"
|
|
34
34
|
},
|
|
@@ -41,8 +41,10 @@
|
|
|
41
41
|
"@microsoft/sp-webpart-base": "~1.3.0",
|
|
42
42
|
"@microsoft/sp-webpart-workbench": "~1.3.0",
|
|
43
43
|
"@types/chai": ">=3.4.34 <3.6.0",
|
|
44
|
+
"@types/cheerio": "0.22.13",
|
|
44
45
|
"@types/enzyme": "2.8.7",
|
|
45
46
|
"@types/mocha": ">=2.2.33 <2.6.0",
|
|
47
|
+
"@types/prop-types": "15.5.3",
|
|
46
48
|
"@types/react": "15.0.38",
|
|
47
49
|
"@types/react-addons-shallow-compare": "0.14.17",
|
|
48
50
|
"@types/react-addons-test-utils": "0.14.15",
|
package/sonar-project.properties
CHANGED
|
@@ -4,6 +4,3 @@ sonar.ts.tslintconfigpath=temp/tslint.json
|
|
|
4
4
|
sonar.organization=sharepoint
|
|
5
5
|
sonar.projectKey=sp-dev-fx-controls-react
|
|
6
6
|
sonar.host.url=https://sonarcloud.io
|
|
7
|
-
sonar.login=/home/circleci/sp-dev-fx-controls-react/scripts/sonarcloud.js
|
|
8
|
-
sonar.projectVersion=1.21.1
|
|
9
|
-
sonar.branch.name=d1ff7356287cd6465a6d4ff44729519556aafbfe
|