Merge pull request #1517 from jerryyasir/react-accordion-dynamic

This commit is contained in:
Hugo Bernier 2020-10-03 00:21:29 -04:00 committed by GitHub
commit 9248180dac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
82 changed files with 28540 additions and 0 deletions

View File

@ -0,0 +1,78 @@
# SPFx Dynamic Accordion - FAQ Builder web part
## Summary
- This sample is based on [Erik Benke] and [Mike Zimmerman] (Accordion Section FAQ Builder web part. I has extended it support single FAQs list based on Category and dynamic properties selection.
- Adds a collapsible accordion section to an Office 365 SharePoint page or Teams Tab.
- Ideal for displaying FAQs.
- When adding the web part, you'll be prompted to select a list from a property panel dropdown (target list must be created with FAQ type Question and Answer.).
- The webpart expects a choice type that will be used as Category.
- The webpart will automatically load all the properties in two dropdowns. One for Accordian Title and One for Accordian Content that must be html type.
- This will generate an accordion with one section for each item in the list.
- Modifications/deletions/additions to the list items in the target list of an added web part are automatically reflected on the page.
- To deploy to a Teams tab see current [Microsoft documentation](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/using-web-part-as-ms-teams-tab).
![Web Part in Action](./assets/react-accordion-section.gif)
### Usage
**1) Create or use a list for FAQs. It can have the FAQ format e.g. Title and a Content columns. You can also used the attached STP file if needed.:**
- The value in the Accordian Title property for each item will appear in the heading bars of the Accordion.
- The value in the Accordian Content property for each item will appear in the collapsible content section of the Accordion
- When creating the columns, select "Multiple lines of text". Rich text is now supported within the Content column.
![Create list for use with the Accordion](./assets/FAQsList.png)
![FAQ list Template for use with the Accordion](./assets/FAQsList.stp)
![FAQ Site Script use with the Accordion](./assets/FAQsList.json)
**2) Add the Dynamic Accordion Section web part to your page & select your list, category, title and content columns. Click Apply and Publish:**
![Select list and other properties from property panel for use with the Accordion](./assets/AccordionSettings1.png)
![Completed properties.](./assets/AccordionSettings2.png)
## Used SharePoint Framework Version
![1.10.0](https://img.shields.io/badge/version-1.10.0-green.svg)
## Applies to
- [SharePoint Framework](https://docs.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview)
- [Office 365 tenant](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-development-environment)
## Prerequisites
Please create the list as described above
## Solution
| Solution | Author(s) |
| ------------------------------------------ | ---------------------------------------------------------------------------------------- |
| SPFx Collapsible Accordion Section | [Erik Benke](https://github.com/ejbenke) ([@erikjbenke](https://twitter.com/erikjbenke)) |
| SPFx Collapsible Accordion Section | [Mike Zimmerman](https://github.com/mikezimm) |
| Dynamic SPFx Collapsible Accordion Section | [Jerry Yasir](https://github.com/jyasir) |
## Version history
| Version | Date | Comments |
| ------- | ------------------ | --------------------------------------------------------------------------------------------------- |
| 1.0 | September 20, 2020 | Reused [Erik Benke] and [Mike Zimmerman] web part |
| 1.1 | September 20, 2020 | Added Support for Dynamic Column selection for reuseability, Dynamic Property Selection for Columns |
## Disclaimer
**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
---
## Minimal Path to Awesome
- Clone or download this repository
- Run in command line:
- `npm install` to install the npm dependencies
- `gulp serve` to display in Developer Workbench (recommend using your tenant workbench so you can test with real lists within your site)
- To package and deploy:
- Use `gulp bundle --ship` & `gulp package-solution --ship`
- Add the `.sppkg` to your SharePoint App Catalog
<img src="https://telemetry.sharepointpnp.com/sp-dev-fx-webparts/samples/react-accordion-dynamic-section" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,20 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json",
"version": "2.0",
"bundles": {
"react-accordion-web-part": {
"components": [
{
"entrypoint": "./lib/webparts/reactAccordion/ReactAccordionWebPart.js",
"manifest": "./src/webparts/reactAccordion/ReactAccordionWebPart.manifest.json"
}
]
}
},
"externals": {},
"localizedResources": {
"ReactAccordionWebPartStrings": "lib/webparts/reactAccordion/loc/{locale}.js",
"PropertyControlStrings": "node_modules/@pnp/spfx-property-controls/lib/loc/{locale}.js",
"ControlStrings": "node_modules/@pnp/spfx-controls-react/lib/loc/{locale}.js"
}
}

View File

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/copy-assets.schema.json",
"deployCdnPath": "temp/deploy"
}

View File

@ -0,0 +1,7 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json",
"workingDir": "./temp/deploy/",
"account": "<!-- STORAGE ACCOUNT NAME -->",
"container": "react-accordion",
"accessKey": "<!-- ACCESS KEY -->"
}

View File

@ -0,0 +1,13 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
"solution": {
"name": "Accordion Section FAQ Builder",
"id": "bf6fa974-fd40-45a3-80e9-e826abe025b9",
"version": "1.6.0.0",
"includeClientSideAssets": true,
"skipFeatureDeployment": true
},
"paths": {
"zippedPackage": "solution/DynamicFAQ-Accordion.sppkg"
}
}

View File

@ -0,0 +1,10 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json",
"port": 4321,
"https": true,
"initialPage": "https://localhost:5432/workbench",
"api": {
"port": 5432,
"entryPath": "node_modules/@microsoft/sp-webpart-workbench/lib/api/"
}
}

View File

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/write-manifests.schema.json",
"cdnBasePath": "<!-- PATH TO CDN -->"
}

View File

@ -0,0 +1,134 @@
{
"id": "061da2cd-f680-4da5-ab30-40a8ba1aafd8",
"alias": "ReactAccordionWebPart",
"componentType": "WebPart",
"version": "1.6.0",
"manifestVersion": 2,
"requiresCustomScript": false,
"supportedHosts": [
"SharePointWebPart",
"TeamsTab"
],
"loadLegacyFabricCss": true,
"preconfiguredEntries": [
{
"groupId": "5c03119e-3074-46fd-976b-c60198311f70",
"group": {
"default": "Other"
},
"title": {
"default": "Dynamic Accordion Section"
},
"description": {
"default": "Collapsible accordion section for displaying list data based on Category and Dynamic selection"
},
"officeFabricIconFontName": "MusicInCollectionFill",
"properties": {
"description": "Dynamic React Accordion",
"listId": "",
"columnTitle": "",
"selectedChoice": "",
"accordianTitleColumn": "",
"accordianContentColumn": "",
"allowZeroExpanded": true
}
}
],
"loaderConfig": {
"entryModuleId": "react-accordion-web-part",
"internalModuleBaseUrls": [
"https://localhost:4321/"
],
"scriptResources": {
"react-accordion-web-part": {
"type": "path",
"path": "dist/react-accordion-web-part.js"
},
"ReactAccordionWebPartStrings": {
"defaultPath": "lib/webparts/reactAccordion/loc/en-us.js",
"type": "localizedPath",
"paths": {}
},
"ControlStrings": {
"defaultPath": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"type": "localizedPath",
"paths": {
"de-DE": "node_modules/@pnp/spfx-controls-react/lib/loc/de-de.js",
"de": "node_modules/@pnp/spfx-controls-react/lib/loc/de-de.js",
"dsb": "node_modules/@pnp/spfx-controls-react/lib/loc/de-de.js",
"rm": "node_modules/@pnp/spfx-controls-react/lib/loc/de-de.js",
"hsb": "node_modules/@pnp/spfx-controls-react/lib/loc/de-de.js",
"en-US": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"bn": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"chr": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"dv": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"div": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"en": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"fil": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"haw": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"iu": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"lo": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"moh": "node_modules/@pnp/spfx-controls-react/lib/loc/en-us.js",
"fr-FR": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"gsw": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"br": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"tzm-Tfng": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"co": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"fr": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"ff": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"lb": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"mg": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"oc": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"zgh": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"wo": "node_modules/@pnp/spfx-controls-react/lib/loc/fr-fr.js",
"lt-LT": "node_modules/@pnp/spfx-controls-react/lib/loc/lt-lt.js",
"nl-NL": "node_modules/@pnp/spfx-controls-react/lib/loc/nl-nl.js",
"nl": "node_modules/@pnp/spfx-controls-react/lib/loc/nl-nl.js",
"fy": "node_modules/@pnp/spfx-controls-react/lib/loc/nl-nl.js",
"ru-RU": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"ru": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"ba": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"be": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"ky": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"mn": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"sah": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"tg": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"tt": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js",
"tk": "node_modules/@pnp/spfx-controls-react/lib/loc/ru-ru.js"
}
},
"@microsoft/sp-property-pane": {
"type": "component",
"version": "1.10.0",
"id": "f9e737b7-f0df-4597-ba8c-3060f82380db"
},
"@microsoft/sp-core-library": {
"type": "component",
"version": "1.10.0",
"id": "7263c7d0-1d6a-45ec-8d85-d4d1d234171b"
},
"@microsoft/sp-webpart-base": {
"type": "component",
"version": "1.10.0",
"id": "974a7777-0990-4136-8fa6-95d80114c2e0"
},
"react": {
"type": "component",
"version": "16.8.5",
"id": "0d910c1c-13b9-4e1c-9aa4-b008c5e42d7d",
"failoverPath": "node_modules/react/dist/react.js"
},
"react-dom": {
"type": "component",
"version": "16.8.5",
"id": "aa0a46ec-1505-43cd-a44a-93f3a5aa460a",
"failoverPath": "node_modules/react-dom/dist/react-dom.js"
},
"@microsoft/sp-http": {
"type": "component",
"version": "1.10.0",
"id": "c07208f0-ea3b-4c1a-9965-ac1b825211a6"
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
'use strict';
const gulp = require('gulp');
const build = require('@microsoft/sp-build-web');
build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`);
build.initialize(gulp);

View File

@ -0,0 +1 @@
//# sourceMappingURL=index.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}

View File

@ -0,0 +1,2 @@
// A file is required to be in the root of the /src directory by the TypeScript compiler
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wFAAwF"}

View File

@ -0,0 +1,35 @@
import { Version } from "@microsoft/sp-core-library";
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
import { IPropertyPaneConfiguration } from "@microsoft/sp-property-pane";
import "core-js/es6/array";
import "es6-map/implement";
import "core-js/modules/es6.array.find";
export interface IReactAccordionWebPartProps {
listId: string;
accordionTitle: string;
columnTitle: string;
selectedChoice: string;
allowZeroExpanded: boolean;
allowMultipleExpanded: boolean;
accordianTitleColumn: string;
accordianContentColumn: string;
}
export default class ReactAccordionWebPart extends BaseClientSideWebPart<IReactAccordionWebPartProps> {
private listColumns;
private allListColumns;
private columnChoices;
private columnsDropdownDisabled;
private choicesDropdownDisabled;
onInit(): Promise<void>;
render(): void;
protected onDispose(): void;
protected readonly disableReactivePropertyChanges: boolean;
protected readonly dataVersion: Version;
private loadColumns;
private loadAllColumns;
private loadCateogryChoices;
protected onPropertyPaneConfigurationStart(): void;
protected onPropertyPaneFieldChanged(propertyPath: string, oldValue: any, newValue: any): void;
protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration;
}
//# sourceMappingURL=ReactAccordionWebPart.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ReactAccordionWebPart.d.ts","sourceRoot":"","sources":["../../../src/webparts/reactAccordion/ReactAccordionWebPart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,0BAA0B,EAK3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,gCAAgC,CAAC;AAcxC,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,qBAAqB,CACtE,2BAA2B,CAC5B;IACC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,uBAAuB,CAAiB;IAChD,OAAO,CAAC,uBAAuB,CAAiB;IAEzC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvB,MAAM,IAAI,IAAI;IAyBrB,SAAS,CAAC,SAAS,IAAI,IAAI;uBAIb,8BAA8B,EAAI,OAAO;uBAGzC,WAAW,EAAI,OAAO;IAIpC,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,mBAAmB;IA+B3B,SAAS,CAAC,gCAAgC,IAAI,IAAI;IA6ClD,SAAS,CAAC,0BAA0B,CAClC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,GAAG,GACZ,IAAI;IAoEP,SAAS,CAAC,4BAA4B,IAAI,0BAA0B;CA6DrE"}

View File

@ -0,0 +1,297 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import * as React from "react";
import * as ReactDom from "react-dom";
import { Version } from "@microsoft/sp-core-library";
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
import { PropertyPaneToggle, PropertyPaneDropdown, } from "@microsoft/sp-property-pane";
import { sp } from "@pnp/sp/presets/all";
import "core-js/es6/array";
import "es6-map/implement";
import "core-js/modules/es6.array.find";
import { PropertyFieldListPicker, PropertyFieldListPickerOrderBy, } from "@pnp/spfx-property-controls/lib/PropertyFieldListPicker";
import * as strings from "ReactAccordionWebPartStrings";
import ReactAccordion from "./components/ReactAccordion";
var ReactAccordionWebPart = /** @class */ (function (_super) {
__extends(ReactAccordionWebPart, _super);
function ReactAccordionWebPart() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.columnsDropdownDisabled = true;
_this.choicesDropdownDisabled = true;
return _this;
}
ReactAccordionWebPart.prototype.onInit = function () {
var _this = this;
return _super.prototype.onInit.call(this).then(function (_) {
sp.setup({
spfxContext: _this.context,
});
});
};
ReactAccordionWebPart.prototype.render = function () {
var _this = this;
var element = React.createElement(ReactAccordion, {
listId: this.properties.listId,
columnTitle: this.properties.columnTitle,
selectedChoice: this.properties.selectedChoice,
accordionTitle: this.properties.accordionTitle,
accordianTitleColumn: this.properties.accordianTitleColumn,
accordianContentColumn: this.properties.accordianContentColumn,
allowZeroExpanded: this.properties.allowZeroExpanded,
allowMultipleExpanded: this.properties.allowMultipleExpanded,
displayMode: this.displayMode,
updateProperty: function (value) {
_this.properties.accordionTitle = value;
},
onConfigure: function () {
_this.context.propertyPane.open();
},
});
ReactDom.render(element, this.domElement);
};
ReactAccordionWebPart.prototype.onDispose = function () {
ReactDom.unmountComponentAtNode(this.domElement);
};
Object.defineProperty(ReactAccordionWebPart.prototype, "disableReactivePropertyChanges", {
get: function () {
return true;
},
enumerable: true,
configurable: true
});
Object.defineProperty(ReactAccordionWebPart.prototype, "dataVersion", {
get: function () {
return Version.parse("1.0");
},
enumerable: true,
configurable: true
});
ReactAccordionWebPart.prototype.loadColumns = function () {
var _this = this;
return new Promise(function (resolve, reject) {
if (!_this.properties.listId) {
console.log("No List Selected");
return null;
}
var spListColumns = sp.web.lists
.getById(_this.properties.listId)
.fields.filter("ReadOnlyField eq false and Hidden eq false and TypeAsString eq 'Choice'")
.get();
spListColumns.then(function (columnResult) {
var listColumns = [];
columnResult.forEach(function (column) {
listColumns.push({
key: column.Title,
text: column.Title,
});
});
resolve(listColumns);
});
});
};
ReactAccordionWebPart.prototype.loadAllColumns = function () {
var _this = this;
return new Promise(function (resolve, reject) {
if (!_this.properties.listId) {
console.log("No List Selected");
return null;
}
var spListColumns = sp.web.lists
.getById(_this.properties.listId)
.fields.filter("ReadOnlyField eq false and Hidden eq false")
.get();
spListColumns.then(function (columnResult) {
var listColumns = [];
columnResult.forEach(function (column) {
listColumns.push({
key: column.InternalName,
text: column.Title + " - [" + column.InternalName + "]",
});
});
resolve(listColumns);
});
});
};
ReactAccordionWebPart.prototype.loadCateogryChoices = function () {
var _this = this;
return new Promise(function (resolve, reject) {
if (!_this.properties.columnTitle) {
console.log("No Columns Selected");
return null;
}
var categoryField = sp.web.lists
.getById(_this.properties.listId)
.fields.getByInternalNameOrTitle(_this.properties.columnTitle);
var choices = categoryField.select("Choices")();
choices.then(function (result) {
//console.clear();
//console.log(result.Choices);
var columnChoices = [];
result.Choices.forEach(function (choice) {
columnChoices.push({
key: choice,
text: choice,
});
});
resolve(columnChoices);
});
});
};
ReactAccordionWebPart.prototype.onPropertyPaneConfigurationStart = function () {
var _this = this;
this.columnsDropdownDisabled = !this.properties.listId;
this.choicesDropdownDisabled = !this.properties.columnTitle;
//if (this.lists) {
// return;
//}
this.context.statusRenderer.displayLoadingIndicator(this.domElement, "lists, column and choices");
if (this.properties.listId) {
this.loadColumns().then(function (columnOptions) {
_this.listColumns = columnOptions;
_this.columnsDropdownDisabled = !_this.properties.listId;
_this.context.propertyPane.refresh();
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
_this.render();
});
this.loadAllColumns().then(function (allcolumnOptions) {
_this.allListColumns = allcolumnOptions;
_this.columnsDropdownDisabled = !_this.properties.listId;
_this.context.propertyPane.refresh();
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
_this.render();
});
}
if (this.properties.columnTitle) {
this.loadCateogryChoices().then(function (choiceOptions) {
_this.columnChoices = choiceOptions;
_this.choicesDropdownDisabled = !_this.properties.columnTitle;
_this.context.propertyPane.refresh();
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
_this.render();
});
}
};
ReactAccordionWebPart.prototype.onPropertyPaneFieldChanged = function (propertyPath, oldValue, newValue) {
// push new list value
var _this = this;
// communicate loading items
if (this.properties.listId) {
this.context.statusRenderer.displayLoadingIndicator(this.domElement, "Columns");
this.loadColumns().then(function (columnOptions) {
// store items
_this.listColumns = columnOptions;
// enable item selector
_this.columnsDropdownDisabled = false;
// clear status indicator
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
// re-render the web part as clearing the loading indicator removes the web part body
_this.render();
// refresh the item selector control by repainting the property pane
_this.context.propertyPane.refresh();
});
this.loadAllColumns().then(function (allcolumnOptions) {
_this.allListColumns = allcolumnOptions;
_this.columnsDropdownDisabled = !_this.properties.listId;
_this.context.propertyPane.refresh();
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
_this.render();
});
}
if (this.properties.columnTitle) {
this.context.statusRenderer.displayLoadingIndicator(this.domElement, "Choices");
this.loadCateogryChoices().then(function (choiceOption) {
// store items
_this.columnChoices = choiceOption;
// enable item selector
_this.choicesDropdownDisabled = false;
// clear status indicator
_this.context.statusRenderer.clearLoadingIndicator(_this.domElement);
// re-render the web part as clearing the loading indicator removes the web part body
_this.render();
// refresh the item selector control by repainting the property pane
_this.context.propertyPane.refresh();
});
}
if (this.properties.selectedChoice) {
this.context.statusRenderer.displayLoadingIndicator(this.domElement, "Data");
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
this.context.propertyPane.refresh();
}
};
ReactAccordionWebPart.prototype.getPropertyPaneConfiguration = function () {
return {
pages: [
{
header: {
description: strings.PropertyPaneDescription,
},
groups: [
{
groupName: strings.BasicGroupName,
groupFields: [
PropertyFieldListPicker("listId", {
label: "Select a list",
selectedList: this.properties.listId,
includeHidden: false,
orderBy: PropertyFieldListPickerOrderBy.Title,
disabled: false,
onPropertyChange: this.onPropertyPaneFieldChanged.bind(this),
properties: this.properties,
context: this.context,
onGetErrorMessage: null,
deferredValidationTime: 0,
key: "listPickerFieldId",
}),
PropertyPaneDropdown("columnTitle", {
label: "Select the (Choice) Column for Categories.",
options: this.listColumns,
disabled: this.columnsDropdownDisabled,
}),
PropertyPaneDropdown("selectedChoice", {
label: "Select the Choice value for filter.",
options: this.columnChoices,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneDropdown("accordianTitleColumn", {
label: "Select the Column for Accordian Title Rows.",
options: this.allListColumns,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneDropdown("accordianContentColumn", {
label: "Select the Column for Accordian Content.",
options: this.allListColumns,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneToggle("allowZeroExpanded", {
label: "Allow zero expanded",
checked: this.properties.allowZeroExpanded,
key: "allowZeroExpanded",
}),
PropertyPaneToggle("allowMultipleExpanded", {
label: "Allow multi expand",
checked: this.properties.allowMultipleExpanded,
key: "allowMultipleExpanded",
}),
],
},
],
},
],
};
};
return ReactAccordionWebPart;
}(BaseClientSideWebPart));
export default ReactAccordionWebPart;
//# sourceMappingURL=ReactAccordionWebPart.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,40 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json",
"id": "061da2cd-f680-4da5-ab30-40a8ba1aafd8",
"alias": "ReactAccordionWebPart",
"componentType": "WebPart",
// The "*" signifies that the version should be taken from the package.json
"version": "*",
"manifestVersion": 2,
// If true, the component can only be installed on sites where Custom Script is allowed.
// Components that allow authors to embed arbitrary script code should set this to true.
// https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f
"requiresCustomScript": false,
"supportedHosts": ["SharePointWebPart", "TeamsTab"],
"loadLegacyFabricCss": true,
"preconfiguredEntries": [{
"groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other
"group": {
"default": "Other"
},
"title": {
"default": "Dynamic Accordion Section"
},
"description": {
"default": "Collapsible accordion section for displaying list data based on Category and Dynamic selection"
},
"officeFabricIconFontName": "MusicInCollectionFill",
"properties": {
"description": "Dynamic React Accordion",
"listId": "",
"columnTitle": "",
"selectedChoice": "",
"accordianTitleColumn": "",
"accordianContentColumn": "",
"allowZeroExpanded": true
}
}]
}

View File

@ -0,0 +1,15 @@
import { DisplayMode } from "@microsoft/sp-core-library";
export interface IReactAccordionProps {
listId: string;
accordionTitle: string;
columnTitle: string;
selectedChoice: string;
accordianTitleColumn: string;
accordianContentColumn: string;
allowZeroExpanded: boolean;
allowMultipleExpanded: boolean;
displayMode: DisplayMode;
updateProperty: (value: string) => void;
onConfigure: () => void;
}
//# sourceMappingURL=IReactAccordionProps.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"IReactAccordionProps.d.ts","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/IReactAccordionProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB"}

View File

@ -0,0 +1 @@
//# sourceMappingURL=IReactAccordionProps.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"IReactAccordionProps.js","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/IReactAccordionProps.ts"],"names":[],"mappings":""}

View File

@ -0,0 +1,16 @@
import * as React from "react";
import { IReactAccordionProps } from "./IReactAccordionProps";
import "./reactAccordion.css";
export interface IReactAccordionState {
items: Array<any>;
choices: Array<any>;
allowMultipleExpanded: boolean;
allowZeroExpanded: boolean;
}
export default class ReactAccordion extends React.Component<IReactAccordionProps, IReactAccordionState> {
constructor(props: IReactAccordionProps);
private getListItems;
componentDidUpdate(prevProps: IReactAccordionProps): void;
render(): React.ReactElement<IReactAccordionProps>;
}
//# sourceMappingURL=ReactAccordion.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ReactAccordion.d.ts","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/ReactAccordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,sBAAsB,CAAC;AAU9B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,KAAK,CAAC,SAAS,CACzD,oBAAoB,EACpB,oBAAoB,CACrB;gBACa,KAAK,EAAE,oBAAoB;IAYvC,OAAO,CAAC,YAAY;IAiCb,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI;IAgBzD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC;CAoD1D"}

View File

@ -0,0 +1,96 @@
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import * as React from "react";
import styles from "./ReactAccordion.module.scss";
import { sp } from "@pnp/sp/presets/all";
import { Placeholder } from "@pnp/spfx-controls-react/lib/Placeholder";
import { WebPartTitle } from "@pnp/spfx-controls-react/lib/WebPartTitle";
import "./reactAccordion.css";
import { Accordion, AccordionItem, AccordionItemHeading, AccordionItemButton, AccordionItemPanel, } from "react-accessible-accordion";
var ReactAccordion = /** @class */ (function (_super) {
__extends(ReactAccordion, _super);
function ReactAccordion(props) {
var _this = _super.call(this, props) || this;
_this.state = {
items: new Array(),
choices: new Array(),
allowMultipleExpanded: _this.props.allowMultipleExpanded,
allowZeroExpanded: _this.props.allowZeroExpanded,
};
_this.getListItems();
return _this;
}
ReactAccordion.prototype.getListItems = function () {
var _this = this;
if (typeof this.props.listId !== "undefined" &&
this.props.listId.length > 0 &&
typeof this.props.columnTitle !== "undefined" &&
this.props.columnTitle.length > 0 &&
typeof this.props.selectedChoice !== "undefined" &&
this.props.selectedChoice.length > 0) {
var query = "<View><Query><Where><Eq><FieldRef Name='" +
this.props.columnTitle +
"'/><Value Type='Text'>" +
this.props.selectedChoice +
"</Value></Eq></Where></Query></View>";
var theAccordianList = sp.web.lists.getById(this.props.listId);
theAccordianList
.getItemsByCAMLQuery({
ViewXml: query,
}) //.select("Title", "Answer", "Category")
.then(function (results) {
_this.setState({
items: results,
});
})
.catch(function (error) {
console.log("Failed to get list items!");
console.log(error);
});
}
};
ReactAccordion.prototype.componentDidUpdate = function (prevProps) {
if (prevProps.listId !== this.props.listId) {
this.getListItems();
}
if (prevProps.allowMultipleExpanded !== this.props.allowMultipleExpanded ||
prevProps.allowZeroExpanded !== this.props.allowZeroExpanded) {
this.setState({
allowMultipleExpanded: this.props.allowMultipleExpanded,
allowZeroExpanded: this.props.allowZeroExpanded,
});
}
};
ReactAccordion.prototype.render = function () {
var _this = this;
var listSelected = typeof this.props.listId !== "undefined" && this.props.listId.length > 0;
var _a = this.state, allowMultipleExpanded = _a.allowMultipleExpanded, allowZeroExpanded = _a.allowZeroExpanded;
return (React.createElement("div", { className: styles.reactAccordion },
!listSelected && (React.createElement(Placeholder, { iconName: "MusicInCollectionFill", iconText: "Configure your web part", description: "Select a list with a Title field and Content field to have its items rendered in a collapsible accordion format", buttonLabel: "Choose a List", onConfigure: this.props.onConfigure })),
listSelected && (React.createElement("div", null,
React.createElement(WebPartTitle, { displayMode: this.props.displayMode, title: this.props.selectedChoice, updateProperty: this.props.updateProperty }),
React.createElement(Accordion, { allowZeroExpanded: allowZeroExpanded, allowMultipleExpanded: allowMultipleExpanded }, this.state.items.map(function (item) {
return (React.createElement(AccordionItem, null,
React.createElement(AccordionItemHeading, null,
React.createElement(AccordionItemButton, { title: item[_this.props.accordianTitleColumn] }, item[_this.props.accordianTitleColumn])),
React.createElement(AccordionItemPanel, null,
React.createElement("p", { dangerouslySetInnerHTML: {
__html: item[_this.props.accordianContentColumn],
} }))));
}))))));
};
return ReactAccordion;
}(React.Component));
export default ReactAccordion;
//# sourceMappingURL=ReactAccordion.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ReactAccordion.js","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/ReactAccordion.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzE,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AASpC;IAA4C,kCAG3C;IACC,wBAAY,KAA2B;QAAvC,YACE,kBAAM,KAAK,CAAC,SASb;QAPC,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,IAAI,KAAK,EAAO;YACvB,OAAO,EAAE,IAAI,KAAK,EAAO;YACzB,qBAAqB,EAAE,KAAI,CAAC,KAAK,CAAC,qBAAqB;YACvD,iBAAiB,EAAE,KAAI,CAAC,KAAK,CAAC,iBAAiB;SAChD,CAAC;QACF,KAAI,CAAC,YAAY,EAAE,CAAC;;IACtB,CAAC;IAEO,qCAAY,GAApB;QAAA,iBA+BC;QA9BC,IACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW;YACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW;YAC7C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,WAAW;YAChD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EACpC;YACA,IAAI,KAAK,GACP,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,CAAC,WAAW;gBACtB,wBAAwB;gBACxB,IAAI,CAAC,KAAK,CAAC,cAAc;gBACzB,sCAAsC,CAAC;YAEzC,IAAI,gBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/D,gBAAgB;iBACb,mBAAmB,CAAC;gBACnB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC,wCAAwC;iBAC1C,IAAI,CAAC,UAAC,OAAmB;gBACxB,KAAI,CAAC,QAAQ,CAAC;oBACZ,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,KAAU;gBAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAEM,2CAAkB,GAAzB,UAA0B,SAA+B;QACvD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAED,IACE,SAAS,CAAC,qBAAqB,KAAK,IAAI,CAAC,KAAK,CAAC,qBAAqB;YACpE,SAAS,CAAC,iBAAiB,KAAK,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC5D;YACA,IAAI,CAAC,QAAQ,CAAC;gBACZ,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB;gBACvD,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;aAChD,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,+BAAM,GAAb;QAAA,iBAmDC;QAlDC,IAAM,YAAY,GAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,IAAA,eAAyD,EAAvD,gDAAqB,EAAE,wCAAgC,CAAC;QAChE,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,cAAc;YAClC,CAAC,YAAY,IAAI,CAChB,oBAAC,WAAW,IACV,QAAQ,EAAC,uBAAuB,EAChC,QAAQ,EAAC,yBAAyB,EAClC,WAAW,EAAC,iHAAiH,EAC7H,WAAW,EAAC,eAAe,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACnC,CACH;YACA,YAAY,IAAI,CACf;gBACE,oBAAC,YAAY,IACX,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAChC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GACzC;gBACF,oBAAC,SAAS,IACR,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,IAE3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS;oBAC9B,OAAO,CACL,oBAAC,aAAa;wBACZ,oBAAC,oBAAoB;4BACnB,oBAAC,mBAAmB,IAClB,KAAK,EAAE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAE3C,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAClB,CACD;wBACvB,oBAAC,kBAAkB;4BACjB,2BACE,uBAAuB,EAAE;oCACvB,MAAM,EAAE,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;iCAChD,GACD,CACiB,CACP,CACjB,CAAC;gBACJ,CAAC,CAAC,CACQ,CACR,CACP,CACG,CACP,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AArHD,CAA4C,KAAK,CAAC,SAAS,GAqH1D"}

View File

@ -0,0 +1 @@
.reactAccordion_b579c085 .container_b579c085{max-width:700px;margin:0 auto;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.2),0 25px 50px 0 rgba(0,0,0,.1);box-shadow:0 2px 4px 0 rgba(0,0,0,.2),0 25px 50px 0 rgba(0,0,0,.1)}.reactAccordion_b579c085 .row_b579c085{margin:0 -8px;-webkit-box-sizing:border-box;box-sizing:border-box;color:"[theme:white, default: #ffffff]";background-color:"[theme:themeDark, default: #005a9e]";padding:20px}.reactAccordion_b579c085 .row_b579c085::after,.reactAccordion_b579c085 .row_b579c085::before{display:table;content:'';line-height:0}.reactAccordion_b579c085 .row_b579c085::after{clear:both}.reactAccordion_b579c085 .column_b579c085{position:relative;min-height:1px;padding-left:8px;padding-right:8px;-webkit-box-sizing:border-box;box-sizing:border-box}[dir=ltr] .reactAccordion_b579c085 .column_b579c085{float:left}[dir=rtl] .reactAccordion_b579c085 .column_b579c085{float:right}.reactAccordion_b579c085 .column_b579c085 .ms-Grid_b579c085{padding:0}@media (min-width:640px){.reactAccordion_b579c085 .column_b579c085{width:83.33333333333334%}}@media (min-width:1024px){.reactAccordion_b579c085 .column_b579c085{width:66.66666666666666%}}@media (min-width:1024px){[dir=ltr] .reactAccordion_b579c085 .column_b579c085{left:16.66667%}[dir=rtl] .reactAccordion_b579c085 .column_b579c085{right:16.66667%}}@media (min-width:640px){[dir=ltr] .reactAccordion_b579c085 .column_b579c085{left:8.33333%}[dir=rtl] .reactAccordion_b579c085 .column_b579c085{right:8.33333%}}.reactAccordion_b579c085 .title_b579c085{font-size:21px;font-weight:100;color:"[theme:white, default: #ffffff]"}.reactAccordion_b579c085 .subTitle_b579c085{font-size:17px;font-weight:300;color:"[theme:white, default: #ffffff]"}.reactAccordion_b579c085 .description_b579c085{font-size:17px;font-weight:300;color:"[theme:white, default: #ffffff]"}.reactAccordion_b579c085 .button_b579c085{text-decoration:none;height:32px;min-width:80px;background-color:"[theme:themePrimary, default: #0078d4]";border-color:"[theme:themePrimary, default: #0078d4]";color:"[theme:white, default: #ffffff]";outline:transparent;position:relative;font-family:"Segoe UI WestEuropean","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;font-weight:400;border-width:0;text-align:center;cursor:pointer;display:inline-block;padding:0 16px}.reactAccordion_b579c085 .button_b579c085 .label_b579c085{font-weight:600;font-size:14px;height:32px;line-height:32px;margin:0 4px;vertical-align:top;display:inline-block}

View File

@ -0,0 +1,14 @@
declare const styles: {
reactAccordion: string;
container: string;
row: string;
column: string;
'ms-Grid': string;
title: string;
subTitle: string;
description: string;
button: string;
label: string;
};
export default styles;
//# sourceMappingURL=ReactAccordion.module.scss.d.ts.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ReactAccordion.module.scss.d.ts","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/ReactAccordion.module.scss.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;;;;;;;;;CAWX,CAAC;AAEF,eAAe,MAAM,CAAC"}

View File

@ -0,0 +1,17 @@
/* tslint:disable */
require("./ReactAccordion.module.css");
var styles = {
reactAccordion: 'reactAccordion_b579c085',
container: 'container_b579c085',
row: 'row_b579c085',
column: 'column_b579c085',
'ms-Grid': 'ms-Grid_b579c085',
title: 'title_b579c085',
subTitle: 'subTitle_b579c085',
description: 'description_b579c085',
button: 'button_b579c085',
label: 'label_b579c085'
};
export default styles;
/* tslint:enable */
//# sourceMappingURL=ReactAccordion.module.scss.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"ReactAccordion.module.scss.js","sourceRoot":"","sources":["../../../../src/webparts/reactAccordion/components/ReactAccordion.module.scss.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACvC,IAAM,MAAM,GAAG;IACb,cAAc,EAAE,yBAAyB;IACzC,SAAS,EAAE,oBAAoB;IAC/B,GAAG,EAAE,cAAc;IACnB,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,WAAW,EAAE,sBAAsB;IACnC,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,gBAAgB;CACxB,CAAC;AAEF,eAAe,MAAM,CAAC;AACtB,mBAAmB"}

View File

@ -0,0 +1,58 @@
.accordion {
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 2px;
}
.accordion__item+.accordion__item {
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.accordion__button {
background-color: #f4f4f4;
color: #444;
cursor: pointer;
padding: 18px;
text-align: left;
border: none;
}
.accordion__button:hover {
background-color: #ddd;
}
.accordion__button:before {
display: inline-block;
content: '';
height: 10px;
width: 10px;
margin-right: 12px;
border-bottom: 2px solid currentColor;
border-right: 2px solid currentColor;
transform: rotate(-45deg);
}
.accordion__button[aria-expanded='true']::before,
.accordion__button[aria-selected='true']::before {
transform: rotate(45deg);
}
.accordion__panel {
padding: 20px;
width: 95%;
animation: fadein 0.35s ease-in;
}
h2 {
text-align: center;
color: #444;
}
@keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

View File

@ -0,0 +1,7 @@
define([], function() {
return {
"PropertyPaneDescription": "",
"BasicGroupName": "Settings",
"DescriptionFieldLabel": "Accordion Section"
}
});

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
{
"name": "react-accordion",
"main": "lib/index.js",
"version": "1.6.0",
"private": true,
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"build": "gulp bundle",
"clean": "gulp clean",
"test": "gulp test"
},
"dependencies": {
"@microsoft/sp-core-library": "1.10.0",
"@microsoft/sp-lodash-subset": "1.10.0",
"@microsoft/sp-office-ui-fabric-core": "1.10.0",
"@microsoft/sp-property-pane": "1.10.0",
"@microsoft/sp-webpart-base": "1.10.0",
"@pnp/common": "^2.0.10",
"@pnp/logging": "^2.0.10",
"@pnp/odata": "^2.0.10",
"@pnp/sp": "^2.0.10",
"@pnp/pnpjs": "2.0.10",
"@pnp/spfx-controls-react": "1.14.0",
"@pnp/spfx-property-controls": "1.19.0",
"@types/es6-promise": "0.0.33",
"@types/react": "16.8.8",
"@types/react-dom": "16.8.3",
"@types/webpack-env": "1.13.1",
"office-ui-fabric-react": "6.189.2",
"react": "16.8.5",
"react-accessible-accordion": "^3.0.0",
"react-dom": "16.8.5"
},
"resolutions": {
"@types/react": "16.8.8"
},
"devDependencies": {
"@microsoft/rush-stack-compiler-2.9": "0.7.7",
"@microsoft/rush-stack-compiler-3.3": "0.3.5",
"@microsoft/sp-build-web": "1.10.0",
"@microsoft/sp-module-interfaces": "1.10.0",
"@microsoft/sp-tslint-rules": "1.10.0",
"@microsoft/sp-webpart-workbench": "1.10.0",
"@types/chai": "3.4.34",
"@types/mocha": "2.2.38",
"ajv": "~5.2.2",
"gulp": "~3.9.1"
}
}

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest" Name="Accordion Section FAQ Builder" ProductID="bf6fa974-fd40-45a3-80e9-e826abe025b9" Version="1.6.0.0" SharePointMinVersion="16.0.0.0" IsClientSideSolution="true" SkipFeatureDeployment="true"><Properties><Title>Accordion Section FAQ Builder</Title></Properties></App>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Client Side Assets" Description="A feature that help deploy client side component assets to SharePoint Online." Id="ae903959-8188-4f0c-ba22-d89bf9329c3b" Version="1.0.0.0" Scope="Web" Hidden="FALSE"></Feature>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>c0f1c601-0691-46f4-a6e3-e2cc655d6530</Id></AppPartConfig>

View File

@ -0,0 +1,203 @@
define([], function () {
return {
'SiteBreadcrumbLabel': 'Website Brotkrume',
'ListViewGroupEmptyLabel': 'Leer',
'WebPartTitlePlaceholder': 'Webpart Titel',
'WebPartTitleLabel': 'Titel hinzufügen',
'DateTime': {
'L_RelativeDateTime_AFewSecondsFuture': 'In wenigen Sekunden',
'L_RelativeDateTime_AFewSeconds': 'Vor wenigen Sekunden',
'L_RelativeDateTime_AboutAMinuteFuture': 'In ungefähr einer Minute',
'L_RelativeDateTime_AboutAMinute': 'Vor ungefähr einer Minute',
'L_RelativeDateTime_XMinutesFuture': 'In {0} Minute||In {0} Minuten',
'L_RelativeDateTime_XMinutes': 'Vor {0} Minute||Vor {0} Minuten',
'L_RelativeDateTime_XMinutesFutureIntervals': '1||2-',
'L_RelativeDateTime_XMinutesIntervals': '1||2-',
'L_RelativeDateTime_AboutAnHourFuture': 'In ungefähr einer Stunde',
'L_RelativeDateTime_AboutAnHour': 'Vor ungefähr einer Stunde',
'L_RelativeDateTime_Tomorrow': 'Morgen',
'L_RelativeDateTime_Yesterday': 'Gestern',
'L_RelativeDateTime_TomorrowAndTime': 'Morgen um {0}',
'L_RelativeDateTime_YesterdayAndTime': 'Gestern um {0}',
'L_RelativeDateTime_XHoursFuture': 'In {0} Stunde||In {0} Stunden',
'L_RelativeDateTime_XHours': 'Vor {0} Stunde||Vor {0} Stunden',
'L_RelativeDateTime_XHoursFutureIntervals': '1||2-',
'L_RelativeDateTime_XHoursIntervals': '1||2-',
'L_RelativeDateTime_DayAndTime': '{0} at {1}',
'L_RelativeDateTime_XDaysFuture': '{0} Tag ab jetzt||{0} Tage ab jetzt',
'L_RelativeDateTime_XDays': 'Vor {0} Tag||Vor {0} Tagen',
'L_RelativeDateTime_XDaysFutureIntervals': '1||2-',
'L_RelativeDateTime_XDaysIntervals': '1||2-',
'L_RelativeDateTime_Today': 'Heute'
},
'SendEmailTo': 'Email senden an {0}',
'StartChatWith': 'Chat starten mit {0}',
'Contact': 'Kontakt',
'UpdateProfile': 'Aktualisiere Dein Profil',
'TaxonomyPickerNoTerms': 'Ausdruckssatz enthält keine Ausdrücke',
'TaxonomyPickerExpandTitle': 'Ausdruckssatz erweitern',
'TaxonomyPickerMenuTermSet': 'Ausdruckssatz Menü',
'TaxonomyPickerInLabel': 'in',
'TaxonomyPickerTermSetLabel': 'Ausdruckssatz',
peoplePickerComponentTooltipMessage: 'People Picker',
peoplePickerComponentErrorMessage: 'Benutzerauswahl ist ein Pflichtfeld',
peoplePickerSuggestionsHeaderText: 'Vorgeschlagene Benutzer',
peoplePickerLoadingText: 'Laden',
PeoplePickerSearchText: 'Fetching users',
PeoplePickerGroupNotFound: 'Gruppe konnte nicht gefunden werden.',
ListItemPickerSelectValue: 'Wähle Wert',
mapsErrorMessage: 'Beim Laden von Karten ist ein Fehler aufgetreten',
mapsLoadingText: 'Laden',
mapsSearchButtonText: 'Suche',
mapsTitlePrefix: 'Karte von',
genericNoResultsFoundText: 'Kein Ergebnis gefunden',
ListViewFilterLabel: 'Filter',
ListItemAttachmentsActionDeleteIconTitle: 'Löschen',
ListItemAttachmentsactionDeleteTitle: 'Löschen',
ListItemAttachmentsfileDeletedMsg: 'Datei {0} gelöscht',
ListItemAttachmentsfileDeleteError: 'Fehler beim Löschen der Datei: {0}, Grund: {1}',
ListItemAttachmentserrorLoadAttachments: 'Fehler beim Laden der Anhänge, Grund: {0}',
ListItemAttachmentsconfirmDelete: 'Sind Sie sich sicher, dass Sie die Anlage {0} in den Papierkorb verschieben möchten ?',
ListItemAttachmentsdialogTitle: 'Listenelement-Anhang',
ListItemAttachmentsdialogOKbuttonLabel: 'Ok',
ListItemAttachmentsdialogCancelButtonLabel: 'Abbrechen',
ListItemAttachmentsdialogOKbuttonLabelOnDelete: 'Löschen',
ListItemAttachmentsuploadAttachmentDialogTitle: 'Anlage hinzufügen',
ListItemAttachmentsuploadAttachmentButtonLabel: 'Anlage hinzufügen',
ListItemAttachmentsuploadAttachmentErrorMsg: 'Die Datei {0} wurde nicht hinzugefügt, Grund: {1}',
ListItemAttachmentsCommandBarAddAttachmentLabel: 'Anlage hinzufügen',
ListItemAttachmentsloadingMessage: 'Datei wird hochgeladen ...',
ListItemAttachmentslPlaceHolderIconText: 'Listenelement-Anhang',
ListItemAttachmentslPlaceHolderDescription: 'Bitte Anlage hinzufügen',
ListItemAttachmentslPlaceHolderButtonLabel: 'Hinzufügen',
DatePickerMonthLongJanuary: 'Januar',
DatePickerMonthShortJanuary: 'Jan',
DatePickerMonthLongFebruary: 'Februar',
DatePickerMonthShortFebruary: 'Feb',
DatePickerMonthLongMarch: 'März',
DatePickerMonthShortMarch: 'Mar',
DatePickerMonthLongApril: 'April',
DatePickerMonthShortApril: 'Apr',
DatePickerMonthLongMay: 'Mai',
DatePickerMonthShortMay: 'Mai',
DatePickerMonthLongJune: 'Juni',
DatePickerMonthShortJune: 'Jun',
DatePickerMonthLongJuly: 'Juli',
DatePickerMonthShortJuly: 'Jul',
DatePickerMonthLongAugust: 'August',
DatePickerMonthShortAugust: 'Aug',
DatePickerMonthLongSeptember: 'September',
DatePickerMonthShortSeptember: 'Sept',
DatePickerMonthLongOctober: 'Oktober',
DatePickerMonthShortOctober: 'Okt',
DatePickerMonthLongNovember: 'November',
DatePickerMonthShortNovember: 'Nov',
DatePickerMonthLongDecember: 'Dezember',
DatePickerMonthShortDecember: 'Dez',
DatePickerDayLongSunday: 'Sonntag',
DatePickerDayShortSunday: 'So.',
DatePickerDayLongMonday: 'Montag',
DatePickerDayShortMonday: 'Mo.',
DatePickerDayLongTuesday: 'Dienstag',
DatePickerDayShortTuesday: 'Di.',
DatePickerDayLongWednesday: 'Mittwoch',
DatePickerDayShortWednesday: 'Mi.',
DatePickerDayLongThursday: 'Donnerstag',
DatePickerDayShortThursday: 'Do.',
DatePickerDayLongFriday: 'Freitag',
DatePickerDayShortFriday: 'Fr.',
DatePickerDayLongSaturday: 'Samstag',
DatePickerDayShortSaturday: 'Sa.',
DatePickerGoToToday: 'Heute',
DatePickerIsRequiredErrorMessage: '',
DatePickerInvalidInputErrorMessage: '',
DatePickerIsOutOfBoundsErrorMessage: '',
DateTimePickerDate: 'Datum',
DateTimePickerTime: 'Uhrzeit',
DateTimePickerTimeSeparator: ':',
DateTimePickerHourValueInvalid: 'Falscher Stundenwert',
HeaderNormalText: 'Normaler Text',
HeaderH2: 'Überschrift 1',
HeaderH3: 'Überschrift 2',
HeaderH4: 'Überschrift 3',
HeaderBlockQuote: 'Zitat',
AlignLeft: 'linksbündig',
AlignCenter: 'zentriert',
AlignRight: 'rechtsbündig',
AlignJustify: 'Blocksatz',
ListBullet: 'Aufzählungszeichen',
ListNumbered: 'Nummerierung',
StyleTitle: 'Schriftart',
BoldTitle: 'Fett (Strg+B)',
ItalicTitle: 'Kursiv (Strg+I)',
UnderlineTitle: 'Unterstrichen(Strg+U)',
AlignTitle: 'Ausrichtung',
ListTitle: 'Liste',
LinkTitle: 'Hyperlink',
MoreTitle: 'Mehr',
FormattingPaneTitle: 'Text Formattierung',
CloseButton: 'Schließen',
InsertLinkTitle: 'Link einfügen',
AddressFieldLabel: 'Adresse',
TextToDisplayLabel: 'Anzeigetext',
SaveButtonLabel: 'Speichern',
CancelButtonLabel: 'Abbrechen',
RemoveLinkLabel: 'Link entfernen',
ParagraphSectionTitle: 'Absatz',
HyperlinkSectionTitle: 'Hyperlink',
UndoTitle: 'Rückgängig',
RedoTitle: 'Wiederholen',
ClearFormattingTitle: 'Löschen',
FontStyleTitle: 'Schriftart',
FontSizeTitle: 'Schriftgröße',
StrikethroughTitle: 'durchgestrichen',
SuperscriptTitle: 'hochgestellt',
SubscriptTitle: 'tiefgestellt',
FontColorLabel: 'Schriftfarbe',
AutomaticFontColor: 'Automatisch',
HighlightColorLabel: 'Texthervorhebungsfarbe',
NoColorHighlightColor: 'Keine Farbe',
IncreaseIndentTitle: 'Einzug vergrößern',
DecreaseIndentTitle: 'Einzug verkleinern',
ThemeColorsGroupName: 'Themenfarbe',
HighlightColorsGroupName: 'Highlightfarben',
StandardColorsGroupName: 'Standardfarben',
ThemeColorDarker: 'Thema dunkler',
ThemeColorDark: 'Thema dunkel',
ThemeColorDarkAlt: 'Thema dunkler alternativ',
ThemeColorPrimary: 'Primäre Themafarbe',
ThemeColorSecondary: 'Sekundäre Themafarbe',
ThemeColorTertiary: 'Tertiäre Themafarbe',
ThemeColorNeutralSecondary: 'Sekundäre neutrale Themafarbe',
ThemeColorNeutralPrimaryAlt: 'Primäre alternative neutrale Themafarbe',
ThemeColorNeutralPrimary: 'Primäre neutrale Themafarbe',
ThemeColorNeutralDark: 'Neutrale dunkle Themafarbe',
HighlightColorYellow: 'Gelb',
HighlightColorGreen: 'Grün',
HighlightColorAqua: 'Aqua',
HighlightColorMagenta: 'Magenta',
HighlightColorBlue: 'Blau',
HighlightColorRed: 'Rot',
HighlightColorDarkblue: 'Dunkelblau',
HighlightColorTeal: 'Blaugrün',
HighlightColorDarkgreen: 'Dunkelgrün',
HighlightColorPurple: 'Lila',
HighlightColorMaroon: 'Braun',
HighlightColorGold: 'Gold',
HighlightColorDarkgrey: 'Dunkelgrau',
HighlightColorGrey: 'Grau',
HighlightColorBlack: 'Schwarz',
StandardColorDarkred: 'Dunkelrot',
StandardColorRed: 'Rot',
StandardColorOrange: 'Orange',
StandardColorYellow: 'Gelb',
StandardColorLightgreen: 'Hellgrün',
StandardColorGreen: 'Grün',
StandardColorLightblue: 'Hellblau',
StandardColorBlue: 'Blau',
StandardColorDarkblue: 'Dunkelblau',
StandardColorPurple: 'Lila'
};
});
//# sourceMappingURL=de-de.js.map

View File

@ -0,0 +1,203 @@
define([], function () {
return {
'SiteBreadcrumbLabel': 'Website breadcrumb',
'ListViewGroupEmptyLabel': 'Empty',
'WebPartTitlePlaceholder': 'Web part title',
'WebPartTitleLabel': 'Add a title',
"DateTime": {
"L_RelativeDateTime_AFewSecondsFuture": "In a few seconds",
"L_RelativeDateTime_AFewSeconds": "A few seconds ago",
"L_RelativeDateTime_AboutAMinuteFuture": "In about a minute",
"L_RelativeDateTime_AboutAMinute": "About a minute ago",
"L_RelativeDateTime_XMinutesFuture": "In {0} minute||In {0} minutes",
"L_RelativeDateTime_XMinutes": "{0} minute ago||{0} minutes ago",
"L_RelativeDateTime_XMinutesFutureIntervals": "1||2-",
"L_RelativeDateTime_XMinutesIntervals": "1||2-",
"L_RelativeDateTime_AboutAnHourFuture": "In about an hour",
"L_RelativeDateTime_AboutAnHour": "About an hour ago",
"L_RelativeDateTime_Tomorrow": "Tomorrow",
"L_RelativeDateTime_Yesterday": "Yesterday",
"L_RelativeDateTime_TomorrowAndTime": "Tomorrow at {0}",
"L_RelativeDateTime_YesterdayAndTime": "Yesterday at {0}",
"L_RelativeDateTime_XHoursFuture": "In {0} hour||In {0} hours",
"L_RelativeDateTime_XHours": "{0} hour ago||{0} hours ago",
"L_RelativeDateTime_XHoursFutureIntervals": "1||2-",
"L_RelativeDateTime_XHoursIntervals": "1||2-",
"L_RelativeDateTime_DayAndTime": "{0} at {1}",
"L_RelativeDateTime_XDaysFuture": "{0} day from now||{0} days from now",
"L_RelativeDateTime_XDays": "{0} day ago||{0} days ago",
"L_RelativeDateTime_XDaysFutureIntervals": "1||2-",
"L_RelativeDateTime_XDaysIntervals": "1||2-",
"L_RelativeDateTime_Today": "Today"
},
"SendEmailTo": "Send an email to {0}",
"StartChatWith": "Start a chat with {0}",
"Contact": "Contact",
"UpdateProfile": "Update your profile",
"TaxonomyPickerNoTerms": "Term set does not contain any terms",
"TaxonomyPickerExpandTitle": "Expand this Term Set",
"TaxonomyPickerMenuTermSet": "Menu for Term Set",
"TaxonomyPickerInLabel": "in",
"TaxonomyPickerTermSetLabel": "Term Set",
peoplePickerComponentTooltipMessage: "People Picker",
peoplePickerComponentErrorMessage: "Required Field",
peoplePickerSuggestionsHeaderText: 'Suggested People',
peoplePickerLoadingText: 'Loading',
PeoplePickerSearchText: 'Fetching users',
PeoplePickerGroupNotFound: "Group could not be found.",
genericNoResultsFoundText: 'No results found',
ListItemPickerSelectValue: 'Select value',
ListItemAttachmentsActionDeleteIconTitle: 'Delete',
ListItemAttachmentsactionDeleteTitle: 'Delete',
ListItemAttachmentsfileDeletedMsg: 'File {0} deleted',
ListItemAttachmentsfileDeleteError: 'Error on delete file: {0}, reason {1}',
ListItemAttachmentserrorLoadAttachments: 'Error on load list item attachment, reason: {0}',
ListItemAttachmentsconfirmDelete: 'Are you sure you want send the attachment {0} to the site recycle bin?',
ListItemAttachmentsdialogTitle: 'List Item Attachment',
ListItemAttachmentsdialogOKbuttonLabel: 'OK',
ListItemAttachmentsdialogCancelButtonLabel: 'Cancel',
ListItemAttachmentsdialogOKbuttonLabelOnDelete: 'Delete',
ListItemAttachmentsuploadAttachmentDialogTitle: 'Add Attachment',
ListItemAttachmentsuploadAttachmentButtonLabel: 'Add Attachment',
ListItemAttachmentsuploadAttachmentErrorMsg: 'The file {0} not attached, reason: {1}',
ListItemAttachmentsCommandBarAddAttachmentLabel: 'Add Attachment',
ListItemAttachmentsloadingMessage: 'Uploading file ...',
ListItemAttachmentslPlaceHolderIconText: 'List Item Attachment',
ListItemAttachmentslPlaceHolderDescription: 'Please Add Attachment',
ListItemAttachmentslPlaceHolderButtonLabel: 'Add',
mapsErrorMessage: 'There was an error while loading the map',
mapsLoadingText: 'Loading',
mapsSearchButtonText: 'Search',
mapsTitlePrefix: 'Map of',
ListViewFilterLabel: "Filter the list",
HeaderNormalText: "Normal text",
HeaderH2: "Heading 1",
HeaderH3: "Heading 2",
HeaderH4: "Heading 3",
HeaderBlockQuote: "Pull quote",
AlignLeft: "Align left",
AlignCenter: "Center",
AlignRight: "Align right",
AlignJustify: "Justify",
ListBullet: "Bulleted list",
ListNumbered: "Numbered list",
StyleTitle: "Style",
BoldTitle: "Bold (Ctrl+B)",
ItalicTitle: "Italic (Ctrl+I)",
UnderlineTitle: "Underline (Ctrl+U)",
AlignTitle: "Align",
ListTitle: "List",
LinkTitle: "Hyperlink",
MoreTitle: "More",
FormattingPaneTitle: "Text formatting",
CloseButton: "Close",
InsertLinkTitle: "Insert link",
AddressFieldLabel: "Address",
TextToDisplayLabel: "Text to display",
SaveButtonLabel: "Save",
CancelButtonLabel: "Cancel",
RemoveLinkLabel: "Remove link",
ParagraphSectionTitle: "Paragraph",
HyperlinkSectionTitle: "Hyperlink",
UndoTitle: "Undo (Ctrl+Z)",
RedoTitle: "Redo (Ctrl+Y)",
ClearFormattingTitle: "Clear all formatting",
FontStyleTitle: "Font style",
FontSizeTitle: "Font size",
StrikethroughTitle: "Strikethrough",
SuperscriptTitle: "Superscript",
SubscriptTitle: "Subscript",
FontColorLabel: "Font Color",
AutomaticFontColor: "Automatic",
HighlightColorLabel: "Highlight color",
NoColorHighlightColor: "No color",
IncreaseIndentTitle: "Increase indent",
DecreaseIndentTitle: "Decrease indent",
ThemeColorsGroupName: "Theme colors",
HighlightColorsGroupName: "Highlight colors",
StandardColorsGroupName: "Standard colors",
ThemeColorDarker: "Theme darker",
ThemeColorDark: "Theme dark",
ThemeColorDarkAlt: "Theme dark alternate",
ThemeColorPrimary: "Theme primary",
ThemeColorSecondary: "Theme secondary",
ThemeColorTertiary: "Neutral tertiary",
ThemeColorNeutralSecondary: "Neutral secondary",
ThemeColorNeutralPrimaryAlt: "Neutral primary alternate",
ThemeColorNeutralPrimary: "Neutral primary",
ThemeColorNeutralDark: "Neutral dark",
HighlightColorYellow: "Yellow",
HighlightColorGreen: "Green",
HighlightColorAqua: "Aqua",
HighlightColorMagenta: "Magenta",
HighlightColorBlue: "Blue",
HighlightColorRed: "Red",
HighlightColorDarkblue: "Dark blue",
HighlightColorTeal: "Teal",
HighlightColorDarkgreen: "Dark green",
HighlightColorPurple: "Purple",
HighlightColorMaroon: "Maroon",
HighlightColorGold: "Gold",
HighlightColorDarkgrey: "Dark grey",
HighlightColorGrey: "Grey",
HighlightColorBlack: "Black",
StandardColorDarkred: "Dark red",
StandardColorRed: "Red",
StandardColorOrange: "Orange",
StandardColorYellow: "Yellow",
StandardColorLightgreen: "Light green",
StandardColorGreen: "Green",
StandardColorLightblue: "Light blue",
StandardColorBlue: "Blue",
StandardColorDarkblue: "Dark blue",
StandardColorPurple: "Purple",
DatePickerMonthLongJanuary: "January",
DatePickerMonthShortJanuary: "Jan",
DatePickerMonthLongFebruary: "February",
DatePickerMonthShortFebruary: "Feb",
DatePickerMonthLongMarch: "March",
DatePickerMonthShortMarch: "Mar",
DatePickerMonthLongApril: "April",
DatePickerMonthShortApril: "Apr",
DatePickerMonthLongMay: "May",
DatePickerMonthShortMay: "May",
DatePickerMonthLongJune: "June",
DatePickerMonthShortJune: "Jun",
DatePickerMonthLongJuly: "July",
DatePickerMonthShortJuly: "Jul",
DatePickerMonthLongAugust: "August",
DatePickerMonthShortAugust: "Aug",
DatePickerMonthLongSeptember: "September",
DatePickerMonthShortSeptember: "Sept",
DatePickerMonthLongOctober: "October",
DatePickerMonthShortOctober: "Oct",
DatePickerMonthLongNovember: "November",
DatePickerMonthShortNovember: "Nov",
DatePickerMonthLongDecember: "December",
DatePickerMonthShortDecember: "Dec",
DatePickerDayLongSunday: "Sunday",
DatePickerDayShortSunday: "Sun",
DatePickerDayLongMonday: "Monday",
DatePickerDayShortMonday: "Mon",
DatePickerDayLongTuesday: "Tuesday",
DatePickerDayShortTuesday: "Tue",
DatePickerDayLongWednesday: "Wednesday",
DatePickerDayShortWednesday: "Wed",
DatePickerDayLongThursday: "Thursday",
DatePickerDayShortThursday: "Thu",
DatePickerDayLongFriday: "Friday",
DatePickerDayShortFriday: "Fri",
DatePickerDayLongSaturday: "Saturday",
DatePickerDayShortSaturday: "Sat",
DatePickerGoToToday: "Today",
DatePickerIsRequiredErrorMessage: "",
DatePickerInvalidInputErrorMessage: "",
DatePickerIsOutOfBoundsErrorMessage: "",
DateTimePickerDate: "Date",
DateTimePickerTime: "Time",
DateTimePickerTimeSeparator: ":",
DateTimePickerHourValueInvalid: "Incorrect hour value"
};
});
//# sourceMappingURL=en-us.js.map

View File

@ -0,0 +1,208 @@
define([], function () {
return {
PeoplePickerGroupNotFound: "Groupe introuvable.",
ListViewFilterLabel: "Filtrer",
PeoplePickerSearchText: "Recherche d'utilisateurs",
peoplePickerComponentTooltipMessage: "Sélecteur de personnes",
peoplePickerComponentErrorMessage: "Champ obligatoire",
peoplePickerSuggestionsHeaderText: "Personnes suggérées",
genericNoResultsFoundText: "Aucun résultat trouvé",
peoplePickerLoadingText: "Chargement",
SiteBreadcrumbLabel: "Fil d'Ariane",
ListViewGroupEmptyLabel: "Vide",
WebPartTitlePlaceholder: "Titre du composant WebPart",
WebPartTitleLabel: "Ajouter un titre",
// DateTime: IDateTimeStrings;
SendEmailTo: "Envoyer un email à {0}",
StartChatWith: "Démarrer une discussion avec {0}",
Contact: "Contact",
UpdateProfile: "Mettre à jour votre profil",
// Taxonomy picker
TaxonomyPickerNoTerms: "L'ensemble de termes ne contient aucun terme",
TaxonomyPickerExpandTitle: "Développer cet ensemble de termes",
TaxonomyPickerMenuTermSet: "Menu pour l'ensemble de termes",
TaxonomyPickerInLabel: "dans",
TaxonomyPickerTermSetLabel: "Ensemble de termes",
ListItemPickerSelectValue: "Sélectionnez une valeur",
ListItemAttachmentsActionDeleteIconTitle: "Supprimer",
ListItemAttachmentsactionDeleteTitle: "Supprimer",
ListItemAttachmentsfileDeletedMsg: "Fichier {0} supprimé",
ListItemAttachmentsfileDeleteError: "Erreur lors de la suppression du fichier : {0}, cause : {1}",
ListItemAttachmentserrorLoadAttachments: "Erreur lors du chargement de la pièce jointe, cause : {0}",
ListItemAttachmentsconfirmDelete: "Voulez-vous vraiment envoyer la pièce jointe {0} à la Corbeille du site ?",
ListItemAttachmentsdialogTitle: "Pièce jointe",
ListItemAttachmentsdialogOKbuttonLabel: "OK",
ListItemAttachmentsdialogCancelButtonLabel: "Annuler",
ListItemAttachmentsdialogOKbuttonLabelOnDelete: "Supprimer",
ListItemAttachmentsuploadAttachmentDialogTitle: "Ajouter une pièce jointe",
ListItemAttachmentsuploadAttachmentButtonLabel: "Ajouter une pièce jointe",
ListItemAttachmentsuploadAttachmentErrorMsg: "Le fichier {0} n'a pas pu être ajouté en tant que pièce jointe, cause : {1}",
ListItemAttachmentsCommandBarAddAttachmentLabel: "Ajouter une pièce jointe",
ListItemAttachmentsloadingMessage: "Téléchargement du fichier...",
ListItemAttachmentslPlaceHolderIconText: "Pièce jointe",
ListItemAttachmentslPlaceHolderDescription: "Ajouter des pièces jointes",
ListItemAttachmentslPlaceHolderButtonLabel: "Ajouter",
//Maps
mapsErrorMessage: "Une erreur s'est produite lors du chargement de la carte",
mapsLoadingText: "Chargement",
mapsSearchButtonText: "Rechercher",
mapsTitlePrefix: "Carte de",
// RichText
HeaderNormalText: "Texte normal",
HeaderH2: "Titre 1",
HeaderH3: "Titre 2",
HeaderH4: "Titre 3",
HeaderBlockQuote: "Citation",
AlignLeft: "Aligner à gauche",
AlignCenter: "Centrer",
AlignRight: "Aligner à droite",
AlignJustify: "Justifier",
ListBullet: "Liste à puces",
ListNumbered: "Liste numérotée",
StyleTitle: "Style",
BoldTitle: "Gras (Ctrl+B)",
ItalicTitle: "Italique (Ctrl+I)",
UnderlineTitle: "Souligné (Ctrl+U)",
AlignTitle: "Alignement",
ListTitle: "Liste",
LinkTitle: "Lien hypertexte",
MoreTitle: "Plus",
FormattingPaneTitle: "Mise en forme du texte",
CloseButton: "Fermer",
InsertLinkTitle: "Insertion de lien",
AddressFieldLabel: "Adresse",
TextToDisplayLabel: "Texte à afficher",
SaveButtonLabel: "Enregistrer",
CancelButtonLabel: "Annuler",
RemoveLinkLabel: "Supprimer le lien",
ParagraphSectionTitle: "Paragraphe",
HyperlinkSectionTitle: "Lien hypertexte",
UndoTitle: "Annuler (Ctrl+Z)",
RedoTitle: "Rétablir (Ctrl+Y)",
ClearFormattingTitle: "Effacer toute la mise en forme",
FontStyleTitle: "Style de police",
FontSizeTitle: "Taille de police",
StrikethroughTitle: "Barré",
SuperscriptTitle: "Exposant",
SubscriptTitle: "Indice",
FontColorLabel: "Couleur de police",
AutomaticFontColor: "Automatique",
HighlightColorLabel: "Couleur de surlignage",
NoColorHighlightColor: "Aucune couleur",
IncreaseIndentTitle: "Augmenter le retrait",
DecreaseIndentTitle: "Diminuer le retrait",
ThemeColorsGroupName: "Couleurs du thème",
HighlightColorsGroupName: "Couleurs de surlignage",
StandardColorsGroupName: "Couleurs standards",
ThemeColorDarker: "Thème plus foncé",
ThemeColorDark: "Thème foncé",
ThemeColorDarkAlt: "Couleur alternative du thème foncé",
ThemeColorPrimary: "Première couleur du thème",
ThemeColorSecondary: "Deuxième couleur du thème",
ThemeColorTertiary: "Troisième couleur du thème",
ThemeColorNeutralSecondary: "Couleur neutre secondaire",
ThemeColorNeutralPrimaryAlt: "Alternative à la couleur neutre principale",
ThemeColorNeutralPrimary: "Couleur neutre principale",
ThemeColorNeutralDark: "Couleur neutre foncé",
HighlightColorYellow: "Jaune",
HighlightColorGreen: "Vert",
HighlightColorAqua: "Cyan",
HighlightColorMagenta: "Magenta",
HighlightColorBlue: "Bleu",
HighlightColorRed: "Rouge",
HighlightColorDarkblue: "Bleu foncé",
HighlightColorTeal: "Bleu-vert",
HighlightColorDarkgreen: "Vert foncé",
HighlightColorPurple: "Violet",
HighlightColorMaroon: "Marron",
HighlightColorGold: "Or",
HighlightColorDarkgrey: "Gris foncé",
HighlightColorGrey: "Gris",
HighlightColorBlack: "Noir",
StandardColorDarkred: "Rouge foncé",
StandardColorRed: "Rouge",
StandardColorOrange: "Orange",
StandardColorYellow: "Jaune",
StandardColorLightgreen: "Vert clair",
StandardColorGreen: "Vert",
StandardColorLightblue: "Bleu clait",
StandardColorBlue: "Bleu",
StandardColorDarkblue: "Bleu foncé",
StandardColorPurple: "Violet",
// DateTime picker
DatePickerMonthLongJanuary: "Janvier",
DatePickerMonthShortJanuary: "Janv.",
DatePickerMonthLongFebruary: "Février",
DatePickerMonthShortFebruary: "Févr.",
DatePickerMonthLongMarch: "Mars",
DatePickerMonthShortMarch: "Mars",
DatePickerMonthLongApril: "Avril",
DatePickerMonthShortApril: "Avr.",
DatePickerMonthLongMay: "Mai",
DatePickerMonthShortMay: "Mai",
DatePickerMonthLongJune: "Juin",
DatePickerMonthShortJune: "Juin",
DatePickerMonthLongJuly: "Juillet",
DatePickerMonthShortJuly: "Juill.",
DatePickerMonthLongAugust: "Août",
DatePickerMonthShortAugust: "Août",
DatePickerMonthLongSeptember: "Septembre",
DatePickerMonthShortSeptember: "Sept.",
DatePickerMonthLongOctober: "Octobre",
DatePickerMonthShortOctober: "Oct.",
DatePickerMonthLongNovember: "Novembre",
DatePickerMonthShortNovember: "Nov.",
DatePickerMonthLongDecember: "Décembre",
DatePickerMonthShortDecember: "Déc.",
DatePickerDayLongSunday: "Dimanche",
DatePickerDayShortSunday: "Dim",
DatePickerDayLongMonday: "Lundi",
DatePickerDayShortMonday: "Lun",
DatePickerDayLongTuesday: "Mardi",
DatePickerDayShortTuesday: "Mar",
DatePickerDayLongWednesday: "Mercredi",
DatePickerDayShortWednesday: "Mer",
DatePickerDayLongThursday: "Jeudi",
DatePickerDayShortThursday: "Jeu",
DatePickerDayLongFriday: "Vendredi",
DatePickerDayShortFriday: "Ven",
DatePickerDayLongSaturday: "Samedi",
DatePickerDayShortSaturday: "Sam",
DatePickerGoToToday: "Aujourd'hui",
DatePickerIsRequiredErrorMessage: "",
DatePickerInvalidInputErrorMessage: "",
DatePickerIsOutOfBoundsErrorMessage: "",
DateTimePickerDate: "Date",
DateTimePickerTime: "Heure",
DateTimePickerTimeSeparator: ":",
DateTimePickerHourValueInvalid: "Valeur incorrecte pour l'heure",
DateTime: {
L_RelativeDateTime_AFewSecondsFuture: "Dans quelques secondes",
L_RelativeDateTime_AFewSeconds: "Il y a quelques secondes",
L_RelativeDateTime_AboutAMinuteFuture: "Dans environ une minute",
L_RelativeDateTime_AboutAMinute: "Il y a environ une minute",
L_RelativeDateTime_XMinutesFuture: "Dans {0} minute||Dans {0} minutes",
L_RelativeDateTime_XMinutes: "Il y a {0} minute||Il y a {0} minutes",
L_RelativeDateTime_XMinutesFutureIntervals: "1||2-",
L_RelativeDateTime_XMinutesIntervals: "1||2-",
L_RelativeDateTime_AboutAnHourFuture: "Dans environ une heure",
L_RelativeDateTime_AboutAnHour: "Il y a environ une heure",
L_RelativeDateTime_Tomorrow: "Demain",
L_RelativeDateTime_Yesterday: "Hier",
L_RelativeDateTime_TomorrowAndTime: "Demain à {0}",
L_RelativeDateTime_YesterdayAndTime: "Hier à {0}",
L_RelativeDateTime_XHoursFuture: "Dans {0} heure||Dans {0} heures",
L_RelativeDateTime_XHours: "Il y a {0} heure||Il y a {0} heures",
L_RelativeDateTime_XHoursFutureIntervals: "1||2-",
L_RelativeDateTime_XHoursIntervals: "1||2-",
L_RelativeDateTime_DayAndTime: "{0} à {1}",
L_RelativeDateTime_XDaysFuture: "{0} jour à partir de maintenant || {0} jours à partir de maintenant",
L_RelativeDateTime_XDays: "Il y a {0} jour||Il y a {0} jours",
L_RelativeDateTime_XDaysFutureIntervals: "1||2-",
L_RelativeDateTime_XDaysIntervals: "1||2-",
L_RelativeDateTime_Today: "Aujourd'hui"
}
};
});
//# sourceMappingURL=fr-fr.js.map

View File

@ -0,0 +1,208 @@
define([], function () {
return {
PeoplePickerGroupNotFound: "Grupės nepavyko rasti.",
ListViewFilterLabel: "Filtruoti",
PeoplePickerSearchText: "Ieškoma naudotojų",
peoplePickerComponentTooltipMessage: "Pasirinkite naudotojus",
peoplePickerComponentErrorMessage: "Privalomas laukas",
peoplePickerSuggestionsHeaderText: "Pasiūlymai",
genericNoResultsFoundText: "Rezultatų nėra",
peoplePickerLoadingText: "Įkeliama",
SiteBreadcrumbLabel: "Svetainės navigacijos grandinė",
ListViewGroupEmptyLabel: "Nenurodyta",
WebPartTitlePlaceholder: "Puslapio dalies antraštė",
WebPartTitleLabel: "Pridėti antraštę",
// DateTime: IDateTimeStrings;
SendEmailTo: "Siųsti el. laišką {0}",
StartChatWith: "Pradėti pokalbį su {0}",
Contact: "Kontaktas",
UpdateProfile: "Atnaujinti profilį",
// Taxonomy picker
TaxonomyPickerNoTerms: "Terminų rinkinys tuščias",
TaxonomyPickerExpandTitle: "Išskleisti terminų rinkinį",
TaxonomyPickerMenuTermSet: "Terminų rinkinio meniu",
TaxonomyPickerInLabel: "",
TaxonomyPickerTermSetLabel: "Terminų rinkinys",
ListItemPickerSelectValue: "Pasirinkite reikšmę",
ListItemAttachmentsActionDeleteIconTitle: "Naikinti",
ListItemAttachmentsactionDeleteTitle: "Naikinti",
ListItemAttachmentsfileDeletedMsg: "Failas „{0}“ panaikintas",
ListItemAttachmentsfileDeleteError: "Klaida naikinant failą „{0}“: {1}",
ListItemAttachmentserrorLoadAttachments: "Nepavyko įkelti elemento priedų infomacijos: {0}",
ListItemAttachmentsconfirmDelete: "Ar tikrai norite priedą „{0}“ siųsti į svetainės šiukšlinę?",
ListItemAttachmentsdialogTitle: "Elemento priedai",
ListItemAttachmentsdialogOKbuttonLabel: "Gerai",
ListItemAttachmentsdialogCancelButtonLabel: "Atšaukti",
ListItemAttachmentsdialogOKbuttonLabelOnDelete: "Naikinti",
ListItemAttachmentsuploadAttachmentDialogTitle: "Įkelti priedą",
ListItemAttachmentsuploadAttachmentButtonLabel: "Įkelti priedą",
ListItemAttachmentsuploadAttachmentErrorMsg: "Failo „{0}“ įkelti nepavyko: {1}",
ListItemAttachmentsCommandBarAddAttachmentLabel: "Įkelti priedą",
ListItemAttachmentsloadingMessage: "Failas siunčiamas...",
ListItemAttachmentslPlaceHolderIconText: "Elemento priedai",
ListItemAttachmentslPlaceHolderDescription: "Įkelkite elemento priedų",
ListItemAttachmentslPlaceHolderButtonLabel: "Pridėti",
//Maps
mapsErrorMessage: "Įkeliant žemėlapį įvyko klaida",
mapsLoadingText: "Įkeliama",
mapsSearchButtonText: "Paieška",
mapsTitlePrefix: "Žemėlapis",
// RichText
HeaderNormalText: "Paprastas tekstas",
HeaderH2: "1 antraštė",
HeaderH3: "2 antraštė",
HeaderH4: "3 antraštė",
HeaderBlockQuote: "Dėmesį atkreipianti citata",
AlignLeft: "Lygiuoti kairėje",
AlignCenter: "Centre",
AlignRight: "Lygiuoti dešinėje",
AlignJustify: "Abipusė lygiuotė",
ListBullet: "Sąrašas su ženkleliais",
ListNumbered: "Numeruotas sąrašas",
StyleTitle: "Stilius",
BoldTitle: "Paryškintasis (Ctrl+B)",
ItalicTitle: "Pasvirasis (Ctrl+I)",
UnderlineTitle: "Pabrauktasis (Ctrl+U)",
AlignTitle: "Lygiuotė",
ListTitle: "Sąrašas",
LinkTitle: "Hipersaitas",
MoreTitle: "Daugiau",
FormattingPaneTitle: "Teksto formatavimas",
CloseButton: "Uždaryti",
InsertLinkTitle: "Įterpti saitą",
AddressFieldLabel: "Adresas",
TextToDisplayLabel: "Rodytinas tekstas",
SaveButtonLabel: "Įrašyti",
CancelButtonLabel: "Atšaukti",
RemoveLinkLabel: "Šalinti saitą",
ParagraphSectionTitle: "Pastraipa",
HyperlinkSectionTitle: "Hipersaitas",
UndoTitle: "Anuliuoti (Ctrl+Z)",
RedoTitle: "Perdaryti (Ctrl+Y)",
ClearFormattingTitle: "Valyti visą formatavimą",
FontStyleTitle: "Šrifto stilius",
FontSizeTitle: "Šrifto dydis",
StrikethroughTitle: "Perbraukimas",
SuperscriptTitle: "Viršutinis indeksas",
SubscriptTitle: "Apatinis indeksas",
FontColorLabel: "Šrifto spalva",
AutomaticFontColor: "Automatinė",
HighlightColorLabel: "Pažymėjimo spalva",
NoColorHighlightColor: "Be spalvų",
IncreaseIndentTitle: "Didinti įtrauką",
DecreaseIndentTitle: "Mažinti įtrauką",
ThemeColorsGroupName: "Temos spalvos",
HighlightColorsGroupName: "Paryškinimo spalvos",
StandardColorsGroupName: "Standartinės spalvos",
ThemeColorDarker: "Tamsesnė tema",
ThemeColorDark: "Tamsi tema",
ThemeColorDarkAlt: "Alternatyvi tamsi tema",
ThemeColorPrimary: "Pirminė tema",
ThemeColorSecondary: "Antrinė tema",
ThemeColorTertiary: "Tretinė tema",
ThemeColorNeutralSecondary: "Neutrali antrinė",
ThemeColorNeutralPrimaryAlt: "Alternatyvi neutrali pirminė",
ThemeColorNeutralPrimary: "Neutrali pirminė",
ThemeColorNeutralDark: "Neutrali tamsi",
HighlightColorYellow: "Geltona",
HighlightColorGreen: "Žalia",
HighlightColorAqua: "Melsvai žalsva",
HighlightColorMagenta: "Purpurinė",
HighlightColorBlue: "Mėlyna",
HighlightColorRed: "Raudona",
HighlightColorDarkblue: "Tamsiai mėlyna",
HighlightColorTeal: "Žalsvai mėlyna",
HighlightColorDarkgreen: "Tamsiai žalia",
HighlightColorPurple: "Violetinė",
HighlightColorMaroon: "Kaštoninė",
HighlightColorGold: "Auksas",
HighlightColorDarkgrey: "Tamsiai pilka",
HighlightColorGrey: "Pilka",
HighlightColorBlack: "Juoda",
StandardColorDarkred: "Tamsiai raudona",
StandardColorRed: "Raudona",
StandardColorOrange: "Oranžinė",
StandardColorYellow: "Geltona",
StandardColorLightgreen: "Šviesiai žalia",
StandardColorGreen: "Žalia",
StandardColorLightblue: "Šviesiai mėlyna",
StandardColorBlue: "Mėlyna",
StandardColorDarkblue: "Tamsiai mėlyna",
StandardColorPurple: "Violetinė",
// DateTime picker
DatePickerMonthLongJanuary: "sausis",
DatePickerMonthShortJanuary: "saus.",
DatePickerMonthLongFebruary: "vasaris",
DatePickerMonthShortFebruary: "vas.",
DatePickerMonthLongMarch: "kovas",
DatePickerMonthShortMarch: "kov.",
DatePickerMonthLongApril: "balandis",
DatePickerMonthShortApril: "bal.",
DatePickerMonthLongMay: "gegužė",
DatePickerMonthShortMay: "geg.",
DatePickerMonthLongJune: "birželis",
DatePickerMonthShortJune: "birž.",
DatePickerMonthLongJuly: "liepa",
DatePickerMonthShortJuly: "liep.",
DatePickerMonthLongAugust: "rugpjūtis",
DatePickerMonthShortAugust: "rugp.",
DatePickerMonthLongSeptember: "rugsėjis",
DatePickerMonthShortSeptember: "rugs.",
DatePickerMonthLongOctober: "spalis",
DatePickerMonthShortOctober: "spal.",
DatePickerMonthLongNovember: "lapkritis",
DatePickerMonthShortNovember: "lapkr.",
DatePickerMonthLongDecember: "gruodis",
DatePickerMonthShortDecember: "gruod.",
DatePickerDayLongSunday: "sekmadienis",
DatePickerDayShortSunday: "sk",
DatePickerDayLongMonday: "pirmadienis",
DatePickerDayShortMonday: "pr",
DatePickerDayLongTuesday: "antradienis",
DatePickerDayShortTuesday: "an",
DatePickerDayLongWednesday: "trečiadienis",
DatePickerDayShortWednesday: "tr",
DatePickerDayLongThursday: "ketvirtadienis",
DatePickerDayShortThursday: "kt",
DatePickerDayLongFriday: "penktadienis",
DatePickerDayShortFriday: "pn",
DatePickerDayLongSaturday: "šeštadienis",
DatePickerDayShortSaturday: "št",
DatePickerGoToToday: "šiandien",
DatePickerIsRequiredErrorMessage: "",
DatePickerInvalidInputErrorMessage: "",
DatePickerIsOutOfBoundsErrorMessage: "",
DateTimePickerDate: "Data",
DateTimePickerTime: "Laikas",
DateTimePickerTimeSeparator: ":",
DateTimePickerHourValueInvalid: "Netinkama laiko reikšmė",
DateTime: {
L_RelativeDateTime_AFewSecondsFuture: "po kelių sekundžių",
L_RelativeDateTime_AFewSeconds: "prieš kelias sekundes",
L_RelativeDateTime_AboutAMinuteFuture: "maždaug po minutės",
L_RelativeDateTime_AboutAMinute: "beveik prieš minutę",
L_RelativeDateTime_XMinutesFuture: "po {0} min.",
L_RelativeDateTime_XMinutes: "prieš {0} min.",
L_RelativeDateTime_XMinutesFutureIntervals: "0-",
L_RelativeDateTime_XMinutesIntervals: "0-",
L_RelativeDateTime_AboutAnHourFuture: "maždaug po valandos",
L_RelativeDateTime_AboutAnHour: "beveik prieš valandą",
L_RelativeDateTime_Tomorrow: "rytoj",
L_RelativeDateTime_Yesterday: "vakar",
L_RelativeDateTime_TomorrowAndTime: "rytoj, {0}",
L_RelativeDateTime_YesterdayAndTime: "vakar, {0}",
L_RelativeDateTime_XHoursFuture: "po {0} val.",
L_RelativeDateTime_XHours: "prieš {0} val.",
L_RelativeDateTime_XHoursFutureIntervals: "0-",
L_RelativeDateTime_XHoursIntervals: "0-",
L_RelativeDateTime_DayAndTime: "{0}, {1}",
L_RelativeDateTime_XDaysFuture: "po {0} d.",
L_RelativeDateTime_XDays: "prieš {0} d.",
L_RelativeDateTime_XDaysFutureIntervals: "0-",
L_RelativeDateTime_XDaysIntervals: "0-",
L_RelativeDateTime_Today: "šiandien"
}
};
});
//# sourceMappingURL=lt-lt.js.map

View File

@ -0,0 +1,122 @@
define([], function () {
return {
'SiteBreadcrumbLabel': 'Website broodkruimelpad',
'ListViewGroupEmptyLabel': 'Leeg',
'WebPartTitlePlaceholder': 'Webonderdeel titel',
'WebPartTitleLabel': 'Titel ingeven',
"DateTime": {
"L_RelativeDateTime_AFewSecondsFuture": "Over een paar seconden",
"L_RelativeDateTime_AFewSeconds": "Een paar seconden geleden",
"L_RelativeDateTime_AboutAMinuteFuture": "Over ongeveer een minuut",
"L_RelativeDateTime_AboutAMinute": "Ongeveer een minuut geleden",
"L_RelativeDateTime_XMinutesFuture": "In {0} minuut||In {0} minuten",
"L_RelativeDateTime_XMinutes": "{0} minuut geleden||{0} minuten geleden",
"L_RelativeDateTime_XMinutesFutureIntervals": "1||2-",
"L_RelativeDateTime_XMinutesIntervals": "1||2-",
"L_RelativeDateTime_AboutAnHourFuture": "In ongeveer een uur",
"L_RelativeDateTime_AboutAnHour": "Ongeveer een uur geleden",
"L_RelativeDateTime_Tomorrow": "Morgen",
"L_RelativeDateTime_Yesterday": "Gisteren",
"L_RelativeDateTime_TomorrowAndTime": "Morgen om {0}",
"L_RelativeDateTime_YesterdayAndTime": "Gisteren om {0}",
"L_RelativeDateTime_XHoursFuture": "In {0} uur||In {0} uur",
"L_RelativeDateTime_XHours": "{0} uur geleden||{0} uur geleden",
"L_RelativeDateTime_XHoursFutureIntervals": "1||2-",
"L_RelativeDateTime_XHoursIntervals": "1||2-",
"L_RelativeDateTime_DayAndTime": "{0} om {1}",
"L_RelativeDateTime_XDaysFuture": "{0} dag vanaf nu||{0} dagen vanaf nu",
"L_RelativeDateTime_XDays": "{0} dag geleden||{0} dagen geleden",
"L_RelativeDateTime_XDaysFutureIntervals": "1||2-",
"L_RelativeDateTime_XDaysIntervals": "1||2-",
"L_RelativeDateTime_Today": "Vandaag"
},
"SendEmailTo": "Stuur een mail naar {0}",
"StartChatWith": "Start een gesprek met {0}",
"Contact": "Contacteer",
"UpdateProfile": "Profiel aanpassen",
"TaxonomyPickerNoTerms": "Termen set heeft geen termen beschikbaar",
"TaxonomyPickerExpandTitle": "Vouw de termen set uit",
"TaxonomyPickerMenuTermSet": "Menu van de termen set",
"TaxonomyPickerInLabel": "in",
"TaxonomyPickerTermSetLabel": "Termen set",
peoplePickerComponentTooltipMessage: "Personen kiezen",
peoplePickerComponentErrorMessage: "Verplicht veld",
peoplePickerSuggestionsHeaderText: 'Voorgestelde personen',
peoplePickerLoadingText: 'Laden',
PeoplePickerSearchText: 'Personen worden opgehaald',
PeoplePickerGroupNotFound: "Groep niet gevonden.",
ListItemPickerSelectValue: 'Selecteer veld',
ListItemAttachmentsActionDeleteIconTitle: 'Verwijderen',
ListItemAttachmentsactionDeleteTitle: 'Verwijderen',
ListItemAttachmentsfileDeletedMsg: 'Bestand {0} verwijderd',
ListItemAttachmentsfileDeleteError: 'Probleem bij het verwijderen van het bestand: {0}, rede {1}',
ListItemAttachmentserrorLoadAttachments: 'Probleem bij het laden van de bijlage, rede: {0}',
ListItemAttachmentsconfirmDelete: 'Ben je zeker dat je het bestand {0} wilt verwijderen?',
ListItemAttachmentsdialogTitle: 'Bijlage van lijstitem',
ListItemAttachmentsdialogOKbuttonLabel: 'OK',
ListItemAttachmentsdialogCancelButtonLabel: 'Annuleren',
ListItemAttachmentsdialogOKbuttonLabelOnDelete: 'Verwijderen',
ListItemAttachmentsuploadAttachmentDialogTitle: 'Bijlage toevoegen',
ListItemAttachmentsuploadAttachmentButtonLabel: 'Bijlage toevoegen',
ListItemAttachmentsuploadAttachmentErrorMsg: 'Het bestand {0} kon niet toegevoegd worden, rede: {1}',
ListItemAttachmentsCommandBarAddAttachmentLabel: 'Bijlage toevoegen',
ListItemAttachmentsloadingMessage: 'Bestand opladen ...',
ListItemAttachmentslPlaceHolderIconText: 'Bijlage van lijstitem',
ListItemAttachmentslPlaceHolderDescription: 'Voeg een bijlage toe',
ListItemAttachmentslPlaceHolderButtonLabel: 'Toevoegen',
mapsErrorMessage: 'Er is een fout opgetreden bij het laden van de kaart',
mapsLoadingText: 'Laden',
mapsSearchButtonText: 'Zoeken',
mapsTitlePrefix: 'Kaart van',
genericNoResultsFoundText: 'Geen resultaten gevonden',
ListViewFilterLabel: "Filter de lijst",
DatePickerMonthLongJanuary: "Januari",
DatePickerMonthShortJanuary: "Jan",
DatePickerMonthLongFebruary: "Februari",
DatePickerMonthShortFebruary: "Feb",
DatePickerMonthLongMarch: "Maart",
DatePickerMonthShortMarch: "Maa",
DatePickerMonthLongApril: "April",
DatePickerMonthShortApril: "Apr",
DatePickerMonthLongMay: "Mei",
DatePickerMonthShortMay: "Mei",
DatePickerMonthLongJune: "Juni",
DatePickerMonthShortJune: "Jun",
DatePickerMonthLongJuly: "Juli",
DatePickerMonthShortJuly: "Jul",
DatePickerMonthLongAugust: "Augustus",
DatePickerMonthShortAugust: "Aug",
DatePickerMonthLongSeptember: "September",
DatePickerMonthShortSeptember: "Sept",
DatePickerMonthLongOctober: "Oktober",
DatePickerMonthShortOctober: "Okt",
DatePickerMonthLongNovember: "November",
DatePickerMonthShortNovember: "Nov",
DatePickerMonthLongDecember: "December",
DatePickerMonthShortDecember: "Dec",
DatePickerDayLongSunday: "Zondag",
DatePickerDayShortSunday: "Zon",
DatePickerDayLongMonday: "Maandag",
DatePickerDayShortMonday: "Maa",
DatePickerDayLongTuesday: "Dinsdag",
DatePickerDayShortTuesday: "Din",
DatePickerDayLongWednesday: "Woensdag",
DatePickerDayShortWednesday: "Woe",
DatePickerDayLongThursday: "Donderdag",
DatePickerDayShortThursday: "Don",
DatePickerDayLongFriday: "Vrijdag",
DatePickerDayShortFriday: "Vri",
DatePickerDayLongSaturday: "Zaterdag",
DatePickerDayShortSaturday: "Zat",
DatePickerGoToToday: "Vandaag",
DatePickerIsRequiredErrorMessage: "",
DatePickerInvalidInputErrorMessage: "",
DatePickerIsOutOfBoundsErrorMessage: "",
DateTimePickerDate: "Dag",
DateTimePickerTime: "Tijd",
DateTimePickerTimeSeparator: ":",
DateTimePickerHourValueInvalid: "Foute uur waarde"
};
});
//# sourceMappingURL=nl-nl.js.map

View File

@ -0,0 +1,122 @@
define([], function () {
return {
'SiteBreadcrumbLabel': 'Цепочка навигации сайта',
'ListViewGroupEmptyLabel': 'Не назначено',
'WebPartTitlePlaceholder': 'Заголовок веб-части',
'WebPartTitleLabel': 'Добавить заголовок',
"DateTime": {
"L_RelativeDateTime_AFewSecondsFuture": "Через несколько секунд",
"L_RelativeDateTime_AFewSeconds": "Несколько секунд назад",
"L_RelativeDateTime_AboutAMinuteFuture": "Примерно через минуту",
"L_RelativeDateTime_AboutAMinute": "Примерно минуту назад",
"L_RelativeDateTime_XMinutesFuture": "Через {0} мин",
"L_RelativeDateTime_XMinutes": "{0} мин назад",
"L_RelativeDateTime_XMinutesFutureIntervals": "1-",
"L_RelativeDateTime_XMinutesIntervals": "1-",
"L_RelativeDateTime_AboutAnHourFuture": "Примерно через час",
"L_RelativeDateTime_AboutAnHour": "Примерно час назад",
"L_RelativeDateTime_Tomorrow": "Завтра",
"L_RelativeDateTime_Yesterday": "Вчера",
"L_RelativeDateTime_TomorrowAndTime": "Завтра в {0}",
"L_RelativeDateTime_YesterdayAndTime": "Вчера в {0}",
"L_RelativeDateTime_XHoursFuture": "Через {0} ч",
"L_RelativeDateTime_XHours": "{0} ч назад",
"L_RelativeDateTime_XHoursFutureIntervals": "1-",
"L_RelativeDateTime_XHoursIntervals": "1-",
"L_RelativeDateTime_DayAndTime": "{0}, в {1}",
"L_RelativeDateTime_XDaysFuture": "Через {0} день||Через {0} дн.",
"L_RelativeDateTime_XDays": "{0} день назад||Дней назад: {0}",
"L_RelativeDateTime_XDaysFutureIntervals": "1||2-",
"L_RelativeDateTime_XDaysIntervals": "1||2-",
"L_RelativeDateTime_Today": "Сегодня"
},
"SendEmailTo": "Отправить сообщение {0}",
"StartChatWith": "Начать чат с {0}",
"Contact": "Контакт",
"UpdateProfile": "Обновить мой профиль",
"TaxonomyPickerNoTerms": "Данный набор терминов пуст",
"TaxonomyPickerExpandTitle": "Развернуть этот набор терминов",
"TaxonomyPickerMenuTermSet": "Меню для набора терминов",
"TaxonomyPickerInLabel": "в",
"TaxonomyPickerTermSetLabel": "Набор терминов",
"peoplePickerComponentTooltipMessage": "Выбор пользователей",
"peoplePickerComponentErrorMessage": "Обязательное поле",
"peoplePickerSuggestionsHeaderText": "Предложенные варианты",
"peoplePickerLoadingText": "Загрузка",
"PeoplePickerSearchText": "Получение пользователей",
"PeoplePickerGroupNotFound": "Группа не найдена.",
"ListItemPickerSelectValue": "Выбрать значение",
"mapsErrorMessage": "Во время загрузки карты произошла ошибка",
"mapsLoadingText": "Загрузка",
"mapsSearchButtonText": "Поиск",
"mapsTitlePrefix": "Карта",
"genericNoResultsFoundText": "Нет результатов, удовлетворяющих условиям",
"ListViewFilterLabel": "Фильтр",
ListItemAttachmentsActionDeleteIconTitle: 'Delete',
ListItemAttachmentsactionDeleteTitle: 'Delete',
ListItemAttachmentsfileDeletedMsg: 'File {0} deleted',
ListItemAttachmentsfileDeleteError: 'Error on delete file: {0}, reason {1}',
ListItemAttachmentserrorLoadAttachments: 'Error on load list item attachment, reason: {0}',
ListItemAttachmentsconfirmDelete: 'Are you sure you want send the attachment {0} to the site recycle bin ?',
ListItemAttachmentsdialogTitle: 'List Item Attachment',
ListItemAttachmentsdialogOKbuttonLabel: 'OK',
ListItemAttachmentsdialogCancelButtonLabel: 'Cancel',
ListItemAttachmentsdialogOKbuttonLabelOnDelete: 'Delete',
ListItemAttachmentsuploadAttachmentDialogTitle: 'Add Attachment',
ListItemAttachmentsuploadAttachmentButtonLabel: 'Add Attachment',
ListItemAttachmentsuploadAttachmentErrorMsg: 'The file {0} not attached, reason: {1}',
ListItemAttachmentsCommandBarAddAttachmentLabel: 'Add Attachment',
ListItemAttachmentsloadingMessage: 'Uploading file ...',
ListItemAttachmentslPlaceHolderIconText: 'List Item Attachment',
ListItemAttachmentslPlaceHolderDescription: 'Please Add Attachment',
ListItemAttachmentslPlaceHolderButtonLabel: 'Add',
DatePickerMonthLongJanuary: "Январь",
DatePickerMonthShortJanuary: "Янв",
DatePickerMonthLongFebruary: "Февраль",
DatePickerMonthShortFebruary: "Фев",
DatePickerMonthLongMarch: "Март",
DatePickerMonthShortMarch: "Мар",
DatePickerMonthLongApril: "Апрель",
DatePickerMonthShortApril: "Апр",
DatePickerMonthLongMay: "Май",
DatePickerMonthShortMay: "Май",
DatePickerMonthLongJune: "Июнь",
DatePickerMonthShortJune: "Июн",
DatePickerMonthLongJuly: "Июль",
DatePickerMonthShortJuly: "Июл",
DatePickerMonthLongAugust: "Август",
DatePickerMonthShortAugust: "Авг",
DatePickerMonthLongSeptember: "Сентябрь",
DatePickerMonthShortSeptember: "Сен",
DatePickerMonthLongOctober: "Октябрь",
DatePickerMonthShortOctober: "Окт",
DatePickerMonthLongNovember: "Ноябрь",
DatePickerMonthShortNovember: "Ноя",
DatePickerMonthLongDecember: "Декабрь",
DatePickerMonthShortDecember: "Дек",
DatePickerDayLongSunday: "Воскресенье",
DatePickerDayShortSunday: "Вс",
DatePickerDayLongMonday: "Понедельник",
DatePickerDayShortMonday: "Пн",
DatePickerDayLongTuesday: "Вторник",
DatePickerDayShortTuesday: "Вт",
DatePickerDayLongWednesday: "Среда",
DatePickerDayShortWednesday: "Ср",
DatePickerDayLongThursday: "Четверг",
DatePickerDayShortThursday: "Чт",
DatePickerDayLongFriday: "Пятница",
DatePickerDayShortFriday: "Пт",
DatePickerDayLongSaturday: "Суббота",
DatePickerDayShortSaturday: "Сб",
DatePickerGoToToday: "Сегодня",
DatePickerIsRequiredErrorMessage: "",
DatePickerInvalidInputErrorMessage: "",
DatePickerIsOutOfBoundsErrorMessage: "",
DateTimePickerDate: "Date",
DateTimePickerTime: "Time",
DateTimePickerTimeSeparator: ":",
DateTimePickerHourValueInvalid: "Incorrect hour value"
};
});
//# sourceMappingURL=ru-ru.js.map

View File

@ -0,0 +1,7 @@
define([], function() {
return {
"PropertyPaneDescription": "",
"BasicGroupName": "Settings",
"DescriptionFieldLabel": "Accordion Section"
}
});

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="text/xml"></Default><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"></Default><Default Extension="webpart" ContentType="text/xml"></Default><Default Extension="htm" ContentType="text/html"></Default><Default Extension="html" ContentType="text/html"></Default><Default Extension="aspx" ContentType="text/xml"></Default><Default Extension="resx" ContentType="text/xml"></Default><Default Extension="js" ContentType="application/javascript"></Default><Default Extension="json" ContentType="application/json"></Default><Default Extension="png" ContentType="image/png"></Default><Default Extension="jpg" ContentType="image/jpeg"></Default><Default Extension="bmp" ContentType="image/bmp"></Default><Default Extension="gif" ContentType="image/gif"></Default></Types>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/manifest-feature" Target="/feature_061da2cd-f680-4da5-ab30-40a8ba1aafd8.xml" Id="r17"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/manifest-clientsideasset" Target="/ClientSideAssets.xml" Id="r18"></Relationship></Relationships>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/ClientSideAssets.xml.config.xml" Id="r3"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_de-de_07a34c4548532bb0f1010620b013e736.js" Id="r4"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_en-us_e37091da0d5566e2e16e6c3289d5c831.js" Id="r5"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_fr-fr_633ab0ae62c5c0b7783ca9a8c6099a30.js" Id="r6"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_lt-lt_d0c5f974d9b26e97b29b3c3873101474.js" Id="r7"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_nl-nl_5960f3a21ae1244cee35abb86324e6e6.js" Id="r8"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-controlstrings_ru-ru_a8dc923f09b17f43c313cb4fbcf5e2af.js" Id="r9"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/accordionv1-reactaccordionwebpartstrings_en-us_b0a7eba2aefefec0c6866d168ad6d85f.js" Id="r10"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/react-accordion-web-part_16d8669712c9bdf489af15111200367e.js" Id="r11"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/react-accordion-web-part_872f990fafe8cc4862c899093174c795.js" Id="r12"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/react-accordion-web-part_b20af2d3c6b0609873d87fa05fc04b12.js" Id="r13"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/react-accordion-web-part_f9813e003eba818aca0528e71a2e2f97.js" Id="r14"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/061da2cd-f680-4da5-ab30-40a8ba1aafd8_color.png" Id="r15"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/clientsideasset" Target="/ClientSideAssets/061da2cd-f680-4da5-ab30-40a8ba1aafd8_outline.png" Id="r16"></Relationship></Relationships>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/partconfiguration" Target="/feature_061da2cd-f680-4da5-ab30-40a8ba1aafd8.xml.config.xml" Id="r1"></Relationship><Relationship Type="http://schemas.microsoft.com/sharepoint/2012/app/relationships/feature-elementmanifest" Target="/061da2cd-f680-4da5-ab30-40a8ba1aafd8/WebPart_061da2cd-f680-4da5-ab30-40a8ba1aafd8.xml" Id="r2"></Relationship></Relationships>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><Feature xmlns="http://schemas.microsoft.com/sharepoint/" Title="Dynamic Accordion Section Feature" Description="A feature which activates the Client-Side WebPart named Dynamic Accordion Section" Id="061da2cd-f680-4da5-ab30-40a8ba1aafd8" Version="1.0.0.0" Scope="Web" Hidden="FALSE"></Feature>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8"?><AppPartConfig xmlns="http://schemas.microsoft.com/sharepoint/2012/app/partconfiguration"><Id>ad123ed4-20be-4dd3-98ee-c41d85c52199</Id></AppPartConfig>

View File

@ -0,0 +1 @@
// A file is required to be in the root of the /src directory by the TypeScript compiler

View File

@ -0,0 +1,40 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json",
"id": "061da2cd-f680-4da5-ab30-40a8ba1aafd8",
"alias": "ReactAccordionWebPart",
"componentType": "WebPart",
// The "*" signifies that the version should be taken from the package.json
"version": "*",
"manifestVersion": 2,
// If true, the component can only be installed on sites where Custom Script is allowed.
// Components that allow authors to embed arbitrary script code should set this to true.
// https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f
"requiresCustomScript": false,
"supportedHosts": ["SharePointWebPart", "TeamsTab"],
"loadLegacyFabricCss": true,
"preconfiguredEntries": [{
"groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other
"group": {
"default": "Other"
},
"title": {
"default": "Dynamic Accordion Section"
},
"description": {
"default": "Collapsible accordion section for displaying list data based on Category and Dynamic selection"
},
"officeFabricIconFontName": "MusicInCollectionFill",
"properties": {
"description": "Dynamic React Accordion",
"listId": "",
"columnTitle": "",
"selectedChoice": "",
"accordianTitleColumn": "",
"accordianContentColumn": "",
"allowZeroExpanded": true
}
}]
}

View File

@ -0,0 +1,362 @@
import * as React from "react";
import * as ReactDom from "react-dom";
import { Version } from "@microsoft/sp-core-library";
import { BaseClientSideWebPart } from "@microsoft/sp-webpart-base";
import {
IPropertyPaneConfiguration,
PropertyPaneTextField,
PropertyPaneToggle,
PropertyPaneDropdown,
IPropertyPaneDropdownOption,
} from "@microsoft/sp-property-pane";
import { sp } from "@pnp/sp/presets/all";
import "core-js/es6/array";
import "es6-map/implement";
import "core-js/modules/es6.array.find";
import {
PropertyFieldListPicker,
PropertyFieldListPickerOrderBy,
} from "@pnp/spfx-property-controls/lib/PropertyFieldListPicker";
import * as strings from "ReactAccordionWebPartStrings";
import ReactAccordion from "./components/ReactAccordion";
import { IReactAccordionProps } from "./components/IReactAccordionProps";
import { string } from "prop-types";
import { Webs } from "@pnp/sp/webs";
import { Lists } from "@pnp/sp/lists";
import { IField, FieldTypes } from "@pnp/sp/fields";
export interface IReactAccordionWebPartProps {
listId: string;
accordionTitle: string;
columnTitle: string;
selectedChoice: string;
allowZeroExpanded: boolean;
allowMultipleExpanded: boolean;
accordianTitleColumn: string;
accordianContentColumn: string;
}
export default class ReactAccordionWebPart extends BaseClientSideWebPart<
IReactAccordionWebPartProps
> {
private listColumns: IPropertyPaneDropdownOption[];
private allListColumns: IPropertyPaneDropdownOption[];
private columnChoices: IPropertyPaneDropdownOption[];
private columnsDropdownDisabled: boolean = true;
private choicesDropdownDisabled: boolean = true;
public onInit(): Promise<void> {
return super.onInit().then((_) => {
sp.setup({
spfxContext: this.context,
});
});
}
public render(): void {
const element: React.ReactElement<IReactAccordionProps> = React.createElement(
ReactAccordion,
{
listId: this.properties.listId,
columnTitle: this.properties.columnTitle,
selectedChoice: this.properties.selectedChoice,
accordionTitle: this.properties.accordionTitle,
accordianTitleColumn: this.properties.accordianTitleColumn,
accordianContentColumn: this.properties.accordianContentColumn,
allowZeroExpanded: this.properties.allowZeroExpanded,
allowMultipleExpanded: this.properties.allowMultipleExpanded,
displayMode: this.displayMode,
updateProperty: (value: string) => {
this.properties.accordionTitle = value;
},
onConfigure: () => {
this.context.propertyPane.open();
},
}
);
ReactDom.render(element, this.domElement);
}
protected onDispose(): void {
ReactDom.unmountComponentAtNode(this.domElement);
}
protected get disableReactivePropertyChanges(): boolean {
return true;
}
protected get dataVersion(): Version {
return Version.parse("1.0");
}
private loadColumns(): Promise<IPropertyPaneDropdownOption[]> {
return new Promise<IPropertyPaneDropdownOption[]>(
(
resolve: (options: IPropertyPaneDropdownOption[]) => void,
reject: (error: any) => void
) => {
if (!this.properties.listId) {
console.log("No List Selected");
return null;
}
var spListColumns = sp.web.lists
.getById(this.properties.listId)
.fields.filter(
"ReadOnlyField eq false and Hidden eq false and TypeAsString eq 'Choice'"
)
.get();
spListColumns.then((columnResult) => {
let listColumns = [];
columnResult.forEach((column) => {
listColumns.push({
key: column.Title,
text: column.Title,
});
});
resolve(listColumns);
});
}
);
}
private loadAllColumns(): Promise<IPropertyPaneDropdownOption[]> {
return new Promise<IPropertyPaneDropdownOption[]>(
(
resolve: (options: IPropertyPaneDropdownOption[]) => void,
reject: (error: any) => void
) => {
if (!this.properties.listId) {
console.log("No List Selected");
return null;
}
var spListColumns = sp.web.lists
.getById(this.properties.listId)
.fields.filter("ReadOnlyField eq false and Hidden eq false")
.get();
spListColumns.then((columnResult) => {
let listColumns = [];
columnResult.forEach((column) => {
listColumns.push({
key: column.InternalName,
text: column.Title + " - [" + column.InternalName + "]",
});
});
resolve(listColumns);
});
}
);
}
private loadCateogryChoices(): Promise<IPropertyPaneDropdownOption[]> {
return new Promise<IPropertyPaneDropdownOption[]>(
(
resolve: (options: IPropertyPaneDropdownOption[]) => void,
reject: (error: any) => void
) => {
if (!this.properties.columnTitle) {
console.log("No Columns Selected");
return null;
}
const categoryField: IField = sp.web.lists
.getById(this.properties.listId)
.fields.getByInternalNameOrTitle(this.properties.columnTitle);
let choices: any = categoryField.select("Choices")();
choices.then((result) => {
//console.clear();
//console.log(result.Choices);
let columnChoices = [];
result.Choices.forEach((choice) => {
columnChoices.push({
key: choice,
text: choice,
});
});
resolve(columnChoices);
});
}
);
}
protected onPropertyPaneConfigurationStart(): void {
this.columnsDropdownDisabled = !this.properties.listId;
this.choicesDropdownDisabled = !this.properties.columnTitle;
//if (this.lists) {
// return;
//}
this.context.statusRenderer.displayLoadingIndicator(
this.domElement,
"lists, column and choices"
);
if (this.properties.listId) {
this.loadColumns().then(
(columnOptions: IPropertyPaneDropdownOption[]): void => {
this.listColumns = columnOptions;
this.columnsDropdownDisabled = !this.properties.listId;
this.context.propertyPane.refresh();
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
}
);
this.loadAllColumns().then(
(allcolumnOptions: IPropertyPaneDropdownOption[]): void => {
this.allListColumns = allcolumnOptions;
this.columnsDropdownDisabled = !this.properties.listId;
this.context.propertyPane.refresh();
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
}
);
}
if (this.properties.columnTitle) {
this.loadCateogryChoices().then(
(choiceOptions: IPropertyPaneDropdownOption[]): void => {
this.columnChoices = choiceOptions;
this.choicesDropdownDisabled = !this.properties.columnTitle;
this.context.propertyPane.refresh();
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
}
);
}
}
protected onPropertyPaneFieldChanged(
propertyPath: string,
oldValue: any,
newValue: any
): void {
// push new list value
// communicate loading items
if (this.properties.listId) {
this.context.statusRenderer.displayLoadingIndicator(
this.domElement,
"Columns"
);
this.loadColumns().then(
(columnOptions: IPropertyPaneDropdownOption[]): void => {
// store items
this.listColumns = columnOptions;
// enable item selector
this.columnsDropdownDisabled = false;
// clear status indicator
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
// re-render the web part as clearing the loading indicator removes the web part body
this.render();
// refresh the item selector control by repainting the property pane
this.context.propertyPane.refresh();
}
);
this.loadAllColumns().then(
(allcolumnOptions: IPropertyPaneDropdownOption[]): void => {
this.allListColumns = allcolumnOptions;
this.columnsDropdownDisabled = !this.properties.listId;
this.context.propertyPane.refresh();
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
}
);
}
if (this.properties.columnTitle) {
this.context.statusRenderer.displayLoadingIndicator(
this.domElement,
"Choices"
);
this.loadCateogryChoices().then(
(choiceOption: IPropertyPaneDropdownOption[]): void => {
// store items
this.columnChoices = choiceOption;
// enable item selector
this.choicesDropdownDisabled = false;
// clear status indicator
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
// re-render the web part as clearing the loading indicator removes the web part body
this.render();
// refresh the item selector control by repainting the property pane
this.context.propertyPane.refresh();
}
);
}
if (this.properties.selectedChoice) {
this.context.statusRenderer.displayLoadingIndicator(
this.domElement,
"Data"
);
this.context.statusRenderer.clearLoadingIndicator(this.domElement);
this.render();
this.context.propertyPane.refresh();
}
}
protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
return {
pages: [
{
header: {
description: strings.PropertyPaneDescription,
},
groups: [
{
groupName: strings.BasicGroupName,
groupFields: [
PropertyFieldListPicker("listId", {
label: "Select a list",
selectedList: this.properties.listId,
includeHidden: false,
orderBy: PropertyFieldListPickerOrderBy.Title,
disabled: false,
onPropertyChange: this.onPropertyPaneFieldChanged.bind(this),
properties: this.properties,
context: this.context,
onGetErrorMessage: null,
deferredValidationTime: 0,
key: "listPickerFieldId",
}),
PropertyPaneDropdown("columnTitle", {
label: "Select the (Choice) Column for Categories.",
options: this.listColumns,
disabled: this.columnsDropdownDisabled,
}),
PropertyPaneDropdown("selectedChoice", {
label: "Select the Choice value for filter.",
options: this.columnChoices,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneDropdown("accordianTitleColumn", {
label: "Select the Column for Accordian Title Rows.",
options: this.allListColumns,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneDropdown("accordianContentColumn", {
label: "Select the Column for Accordian Content.",
options: this.allListColumns,
disabled: this.choicesDropdownDisabled,
}),
PropertyPaneToggle("allowZeroExpanded", {
label: "Allow zero expanded",
checked: this.properties.allowZeroExpanded,
key: "allowZeroExpanded",
}),
PropertyPaneToggle("allowMultipleExpanded", {
label: "Allow multi expand",
checked: this.properties.allowMultipleExpanded,
key: "allowMultipleExpanded",
}),
],
},
],
},
],
};
}
}

View File

@ -0,0 +1,15 @@
import { DisplayMode } from "@microsoft/sp-core-library";
export interface IReactAccordionProps {
listId: string;
accordionTitle: string;
columnTitle: string;
selectedChoice: string;
accordianTitleColumn: string;
accordianContentColumn: string;
allowZeroExpanded: boolean;
allowMultipleExpanded: boolean;
displayMode: DisplayMode;
updateProperty: (value: string) => void;
onConfigure: () => void;
}

View File

@ -0,0 +1,75 @@
@import '~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss';
@import '~office-ui-fabric-react/dist/sass/References.scss';
.reactAccordion {
.container {
max-width: 700px;
margin: 0px auto;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
}
.row {
@include ms-Grid-row;
@include ms-fontColor-white;
background-color: $ms-color-themeDark;
padding: 20px;
}
.column {
@include ms-Grid-col;
@include ms-lg10;
@include ms-xl8;
@include ms-xlPush2;
@include ms-lgPush1;
}
.title {
@include ms-font-xl;
@include ms-fontColor-white;
}
.subTitle {
@include ms-font-l;
@include ms-fontColor-white;
}
.description {
@include ms-font-l;
@include ms-fontColor-white;
}
.button {
// Our button
text-decoration: none;
height: 32px;
// Primary Button
min-width: 80px;
background-color: $ms-color-themePrimary;
border-color: $ms-color-themePrimary;
color: $ms-color-white;
// Basic Button
outline: transparent;
position: relative;
font-family: "Segoe UI WestEuropean","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",sans-serif;
-webkit-font-smoothing: antialiased;
font-size: $ms-font-size-m;
font-weight: $ms-font-weight-regular;
border-width: 0;
text-align: center;
cursor: pointer;
display: inline-block;
padding: 0 16px;
.label {
font-weight: $ms-font-weight-semibold;
font-size: $ms-font-size-m;
height: 32px;
line-height: 32px;
margin: 0 4px;
vertical-align: top;
display: inline-block;
}
}
}

View File

@ -0,0 +1,17 @@
/* tslint:disable */
require("./ReactAccordion.module.css");
const styles = {
reactAccordion: 'reactAccordion_b579c085',
container: 'container_b579c085',
row: 'row_b579c085',
column: 'column_b579c085',
'ms-Grid': 'ms-Grid_b579c085',
title: 'title_b579c085',
subTitle: 'subTitle_b579c085',
description: 'description_b579c085',
button: 'button_b579c085',
label: 'label_b579c085'
};
export default styles;
/* tslint:enable */

View File

@ -0,0 +1,141 @@
import * as React from "react";
import styles from "./ReactAccordion.module.scss";
import { IReactAccordionProps } from "./IReactAccordionProps";
import { sp } from "@pnp/sp/presets/all";
import { Placeholder } from "@pnp/spfx-controls-react/lib/Placeholder";
import { WebPartTitle } from "@pnp/spfx-controls-react/lib/WebPartTitle";
import "./reactAccordion.css";
import {
Accordion,
AccordionItem,
AccordionItemHeading,
AccordionItemButton,
AccordionItemPanel,
} from "react-accessible-accordion";
export interface IReactAccordionState {
items: Array<any>;
choices: Array<any>;
allowMultipleExpanded: boolean;
allowZeroExpanded: boolean;
}
export default class ReactAccordion extends React.Component<
IReactAccordionProps,
IReactAccordionState
> {
constructor(props: IReactAccordionProps) {
super(props);
this.state = {
items: new Array<any>(),
choices: new Array<any>(),
allowMultipleExpanded: this.props.allowMultipleExpanded,
allowZeroExpanded: this.props.allowZeroExpanded,
};
this.getListItems();
}
private getListItems(): void {
if (
typeof this.props.listId !== "undefined" &&
this.props.listId.length > 0 &&
typeof this.props.columnTitle !== "undefined" &&
this.props.columnTitle.length > 0 &&
typeof this.props.selectedChoice !== "undefined" &&
this.props.selectedChoice.length > 0
) {
let query =
"<View><Query><Where><Eq><FieldRef Name='" +
this.props.columnTitle +
"'/><Value Type='Text'>" +
this.props.selectedChoice +
"</Value></Eq></Where></Query></View>";
let theAccordianList = sp.web.lists.getById(this.props.listId);
theAccordianList
.getItemsByCAMLQuery({
ViewXml: query,
}) //.select("Title", "Answer", "Category")
.then((results: Array<any>) => {
this.setState({
items: results,
});
})
.catch((error: any) => {
console.log("Failed to get list items!");
console.log(error);
});
}
}
public componentDidUpdate(prevProps: IReactAccordionProps): void {
if (prevProps.listId !== this.props.listId) {
this.getListItems();
}
if (
prevProps.allowMultipleExpanded !== this.props.allowMultipleExpanded ||
prevProps.allowZeroExpanded !== this.props.allowZeroExpanded
) {
this.setState({
allowMultipleExpanded: this.props.allowMultipleExpanded,
allowZeroExpanded: this.props.allowZeroExpanded,
});
}
}
public render(): React.ReactElement<IReactAccordionProps> {
const listSelected: boolean =
typeof this.props.listId !== "undefined" && this.props.listId.length > 0;
const { allowMultipleExpanded, allowZeroExpanded } = this.state;
return (
<div className={styles.reactAccordion}>
{!listSelected && (
<Placeholder
iconName="MusicInCollectionFill"
iconText="Configure your web part"
description="Select a list with a Title field and Content field to have its items rendered in a collapsible accordion format"
buttonLabel="Choose a List"
onConfigure={this.props.onConfigure}
/>
)}
{listSelected && (
<div>
<WebPartTitle
displayMode={this.props.displayMode}
title={this.props.selectedChoice}
updateProperty={this.props.updateProperty}
/>
<Accordion
allowZeroExpanded={allowZeroExpanded}
allowMultipleExpanded={allowMultipleExpanded}
>
{this.state.items.map((item: any) => {
return (
<AccordionItem>
<AccordionItemHeading>
<AccordionItemButton
title={item[this.props.accordianTitleColumn]}
>
{item[this.props.accordianTitleColumn]}
</AccordionItemButton>
</AccordionItemHeading>
<AccordionItemPanel>
<p
dangerouslySetInnerHTML={{
__html: item[this.props.accordianContentColumn],
}}
/>
</AccordionItemPanel>
</AccordionItem>
);
})}
</Accordion>
</div>
)}
</div>
);
}
}

View File

@ -0,0 +1,58 @@
.accordion {
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 2px;
}
.accordion__item+.accordion__item {
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.accordion__button {
background-color: #f4f4f4;
color: #444;
cursor: pointer;
padding: 18px;
text-align: left;
border: none;
}
.accordion__button:hover {
background-color: #ddd;
}
.accordion__button:before {
display: inline-block;
content: '';
height: 10px;
width: 10px;
margin-right: 12px;
border-bottom: 2px solid currentColor;
border-right: 2px solid currentColor;
transform: rotate(-45deg);
}
.accordion__button[aria-expanded='true']::before,
.accordion__button[aria-selected='true']::before {
transform: rotate(45deg);
}
.accordion__panel {
padding: 20px;
width: 95%;
animation: fadein 0.35s ease-in;
}
h2 {
text-align: center;
color: #444;
}
@keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

View File

@ -0,0 +1,7 @@
define([], function() {
return {
"PropertyPaneDescription": "",
"BasicGroupName": "Settings",
"DescriptionFieldLabel": "Accordion Section"
}
});

View File

@ -0,0 +1,10 @@
declare interface IReactAccordionWebPartStrings {
PropertyPaneDescription: string;
BasicGroupName: string;
DescriptionFieldLabel: string;
}
declare module 'ReactAccordionWebPartStrings' {
const strings: IReactAccordionWebPartStrings;
export = strings;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,38 @@
{
"extends": "./node_modules/@microsoft/rush-stack-compiler-3.3/includes/tsconfig-web.json",
"compilerOptions": {
"target": "es5",
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"jsx": "react",
"declaration": true,
"sourceMap": true,
"experimentalDecorators": true,
"skipLibCheck": true,
"outDir": "lib",
"inlineSources": false,
"strictNullChecks": false,
"noUnusedLocals": false,
"typeRoots": [
"./node_modules/@types",
"./node_modules/@microsoft"
],
"types": [
"es6-promise",
"webpack-env"
],
"lib": [
"es5",
"dom",
"es2015.collection"
]
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"lib"
]
}

View File

@ -0,0 +1,30 @@
{
"extends": "@microsoft/sp-tslint-rules/base-tslint.json",
"rules": {
"class-name": false,
"export-name": false,
"forin": false,
"label-position": false,
"member-access": true,
"no-arg": false,
"no-console": false,
"no-construct": false,
"no-duplicate-variable": true,
"no-eval": false,
"no-function-expression": true,
"no-internal-module": true,
"no-shadowed-variable": true,
"no-switch-case-fall-through": true,
"no-unnecessary-semicolons": true,
"no-unused-expression": true,
"no-use-before-declare": true,
"no-with-statement": true,
"semicolon": true,
"trailing-comma": false,
"typedef": false,
"typedef-whitespace": false,
"use-named-parameter": true,
"variable-name": false,
"whitespace": false
}
}