From cec39fea80b203502ccfa5493d137a3fbce87147 Mon Sep 17 00:00:00 2001
From: Lou-i3 <67910996+Lou-i3@users.noreply.github.com>
Date: Thu, 5 Sep 2024 14:14:10 +0200
Subject: [PATCH 01/23] Update templating.md
Change theme variable name in documentation
---
docs/v3/search-parts/templating.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/v3/search-parts/templating.md b/docs/v3/search-parts/templating.md
index 1f6ea0206..2c7c89fe4 100644
--- a/docs/v3/search-parts/templating.md
+++ b/docs/v3/search-parts/templating.md
@@ -26,7 +26,7 @@ Displays the search results inside a tabular view using the associated Office UI
| Option | Description
| ------ | ---------------
-| **Manage columns** | Allows you to build you own table view by adding or removing columns dynamically. For each column, you get the following options:

- **Column name**: the column name to display.
- **Minimum width in px**: the minimum width of the column.
- **Maximum width in px**: the maximum width of the column.
- **Sortable**: allows you to sort column values alphabetically when the column header is clicked (ascending or descending).
- **Resizable**: allows you to resize the column dynamically in display mode.
- **Multiline**: if the column column should be multiline. By default only ellipsis (...) will be display for larger text.
- **Link to item**: if enabled, wrap the column value with an URL link pointing to the search result item (i.e. Path). This option is especially suitable for the 'Title' column.
- **Column value**: you can choose here either a managed property value (from the list or as free text) without any transformation or use an Handlebars expression by clicking on the checkbox next to it. In this case, all helpers from the main template are available and you can also add you own HTML markup in the column value. For HTML fields you can use the special variable `@themeVariant` to use theme colors (ex: `@themeVariant.palette.themePrimary`)


+| **Manage columns** | Allows you to build you own table view by adding or removing columns dynamically. For each column, you get the following options:
- **Column name**: the column name to display.
- **Minimum width in px**: the minimum width of the column.
- **Maximum width in px**: the maximum width of the column.
- **Sortable**: allows you to sort column values alphabetically when the column header is clicked (ascending or descending).
- **Resizable**: allows you to resize the column dynamically in display mode.
- **Multiline**: if the column column should be multiline. By default only ellipsis (...) will be display for larger text.
- **Link to item**: if enabled, wrap the column value with an URL link pointing to the search result item (i.e. Path). This option is especially suitable for the 'Title' column.
- **Column value**: you can choose here either a managed property value (from the list or as free text) without any transformation or use an Handlebars expression by clicking on the checkbox next to it. In this case, all helpers from the main template are available and you can also add you own HTML markup in the column value. For HTML fields you can use the special variable `@theme` to use theme colors (ex: `@theme.palette.themePrimary`)


| **Show file icon** | Hide or display the file icon in the first column.
| **Compact mode** | Display the details list in compact mode.
@@ -54,7 +54,7 @@ Displays search results as cards view using the associated Office UI Fabric [Doc
In order to use the property `IconSrc`, ensure you do not specify a property for `File Extension` to not override the custom IconSrc. A custom icon should be a 16x16 pixel image.
-For HTML fields you can use the special variable `@themeVariant` to use theme colors (ex: `@themeVariant.palette.themePrimary`). If you don't set a value for those fields (i.e an empty value), they won't appear in the UI:

+For HTML fields you can use the special variable `@theme` to use theme colors (ex: `@theme.palette.themePrimary`). If you don't set a value for those fields (i.e an empty value), they won't appear in the UI:

| **Enable result preview** | If enabled, displays a preview callout when the document card image is clicked.
| **Show file icon** | Hide or display the file icon in the card.
| **Compact mode** | Display the cards in compact mode.
@@ -401,17 +401,17 @@ Notice your template content must be enclosed in a `` tag
### Work with SharePoint theme
-A `themeVariant` variable is available in the root Handlebars context. It contains all current theme information that can use in your CSS classes or inline styles. Example:
+A `theme` variable is available in the root Handlebars context. It contains all current theme information that can use in your CSS classes or inline styles. Example:
```
```
-To see all available values, you can inspect the `themeVariant` objetc using the 'Debug View' layout. Notice the values are udpated dynamically every time you udpate the theme through the UI.
+To see all available values, you can inspect the `theme` objetc using the 'Debug View' layout. Notice the values are udpated dynamically every time you udpate the theme through the UI.
### Custom code renderers
From be35b4487f129093c36ddf93e9f2e806087f6a40 Mon Sep 17 00:00:00 2001
From: Mikael Svenson
Date: Sun, 8 Sep 2024 11:38:38 +0200
Subject: [PATCH 02/23] #3940 Support rcapp URI in templates
---
search-parts/src/common/Constants.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/search-parts/src/common/Constants.ts b/search-parts/src/common/Constants.ts
index 6499057a7..5fb228aee 100644
--- a/search-parts/src/common/Constants.ts
+++ b/search-parts/src/common/Constants.ts
@@ -18,7 +18,7 @@ export class Constants {
/**
* The regular expression to sanitize URIs with DomPurify
*/
- public static readonly ALLOWED_URI_REGEXP = /^(?:(?:(?:f|ht)tps?|mailto|file|tel|callto|msteams|im|cid|xmpp|xxx|ms-\w+):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i;
+ public static readonly ALLOWED_URI_REGEXP = /^(?:(?:(?:f|ht)tps?|mailto|file|tel|callto|msteams|rcapp|im|cid|xmpp|xxx|ms-\w+):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i;
}
export enum AutoCalculatedDataSourceFields {
From 4cd44e15475db6b8a2559aff873542f6409fef17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Josef=20Bl=C3=BCml?=
Date: Mon, 9 Sep 2024 10:41:30 +0200
Subject: [PATCH 03/23] SearchVerticals: fixed title-editing
---
.../src/webparts/searchVerticals/SearchVerticalsWebPart.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/search-parts/src/webparts/searchVerticals/SearchVerticalsWebPart.ts b/search-parts/src/webparts/searchVerticals/SearchVerticalsWebPart.ts
index 6916e383a..8f306c050 100644
--- a/search-parts/src/webparts/searchVerticals/SearchVerticalsWebPart.ts
+++ b/search-parts/src/webparts/searchVerticals/SearchVerticalsWebPart.ts
@@ -203,6 +203,7 @@ export default class DataVerticalsWebPart extends BaseWebPart {
this.properties.title = value;
+ this.render();
},
className: commonStyles.wpTitle
},
From 5c15df21a677df570de6914bf1f7acb3ce644d9a Mon Sep 17 00:00:00 2001
From: Kasper Larsen
Date: Tue, 10 Sep 2024 15:36:34 +0200
Subject: [PATCH 04/23] Fixed minor text errors
---
search-parts/src/loc/da-dk.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/search-parts/src/loc/da-dk.js b/search-parts/src/loc/da-dk.js
index 5f9924d5d..1043d6c1b 100644
--- a/search-parts/src/loc/da-dk.js
+++ b/search-parts/src/loc/da-dk.js
@@ -216,7 +216,7 @@ define([], function() {
ResizableColumnLabel: "Størrelse kan redigeres",
MultilineColumnLabel: "Multi-linje",
LinkToItemColumnLabel: "Link til item",
- CompactModeLabel: "Compakt-mode",
+ CompactModeLabel: "Kompaktvisning",
ShowFileIcon: "Vis filikon",
ManageDetailsListColumnDescription: "Tilføj, opdatér eller fjern kolonner fra layoutet på detaljelisten. Du kan enten bruge egenskabsværdier i listen direkte uden nogen transformation, eller du kan bruge et Handlebars-udtryk som feltets værdi. HTML er supporteret til brug i alle felter.",
ManageDetailsListColumnLabel: "Administrér kolonner",
From 7c174a289cf765f1d200c147d76b66ed375a991b Mon Sep 17 00:00:00 2001
From: Kasper Larsen
Date: Tue, 10 Sep 2024 15:38:19 +0200
Subject: [PATCH 05/23] a few more text updates
---
search-parts/src/loc/da-dk.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/search-parts/src/loc/da-dk.js b/search-parts/src/loc/da-dk.js
index 1043d6c1b..2febbdea2 100644
--- a/search-parts/src/loc/da-dk.js
+++ b/search-parts/src/loc/da-dk.js
@@ -339,8 +339,8 @@ define([], function() {
PropertyPane: {
ConnectionsPage: {
DataConnectionsGroupName: "Tilgængelige forbindelser",
- UseDataVerticalsWebPartLabel: "Anslut till en vertikal webbdel",
- UseDataVerticalsFromComponentLabel: "Använd vertikaler från denna komponent"
+ UseDataVerticalsWebPartLabel: "Forbind til en vertikal webbdel",
+ UseDataVerticalsFromComponentLabel: "Anvend vertikaler fra denne komponent"
},
InformationPage: {
Extensibility: {
@@ -363,9 +363,9 @@ define([], function() {
OrOperator: "ELLER",
AndOperator: "OG",
ComboBoxPlaceHolder: "Vælg værdi",
- UseAndOperatorValues: "Use an AND operator between values",
- UseOrOperatorValues: "Use an OR operator between values",
- UseValuesOperators: "Select operator to use between this filter values"
+ UseAndOperatorValues: "Brug en AND operator imellem værdierne",
+ UseOrOperatorValues: "Brug en OR operator imellem værdierne",
+ UseValuesOperators: "Vælg en operator for disse filter værdier"
},
SuggestionProviders: {
SharePointStatic: {
From b298524d366e8270a92260558a1e3083823b82d4 Mon Sep 17 00:00:00 2001
From: Kasper Larsen
Date: Tue, 10 Sep 2024 15:47:01 +0200
Subject: [PATCH 06/23] fixed #3960 tags on Cards
---
search-parts/src/layouts/results/cards/CardsLayout.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/search-parts/src/layouts/results/cards/CardsLayout.ts b/search-parts/src/layouts/results/cards/CardsLayout.ts
index 32d156633..d7c23565a 100644
--- a/search-parts/src/layouts/results/cards/CardsLayout.ts
+++ b/search-parts/src/layouts/results/cards/CardsLayout.ts
@@ -61,7 +61,7 @@ export class CardsLayout extends BaseLayout {
[
{ name: strings.Layouts.Cards.Fields.Title, field: 'title', value: '{{slot item @root.slots.Title}}', useHandlebarsExpr: true, supportHtml: false },
{ name: strings.Layouts.Cards.Fields.Location, field: 'location', value: `{{SiteTitle}}`, useHandlebarsExpr: true, supportHtml: true },
- { name: strings.Layouts.Cards.Fields.Tags, field: 'tags', value: `\n\n{{#if (slot item @root.slots.Tags)}}\n\t\n{{/if}}`, useHandlebarsExpr: true, supportHtml: true },
+ { name: strings.Layouts.Cards.Fields.Tags, field: 'tags', value: `\n\n{{#if (slot item @root.slots.Tags)}}\n\t\n{{/if}}`, useHandlebarsExpr: true, supportHtml: true },
{ name: strings.Layouts.Cards.Fields.PreviewImage, field: 'previewImage', value: "{{slot item @root.slots.PreviewImageUrl}}", useHandlebarsExpr: true, supportHtml: false },
{ name: strings.Layouts.Cards.Fields.PreviewUrl, field: 'previewUrl' , value: "{{slot item @root.slots.PreviewUrl}}", useHandlebarsExpr: true, supportHtml: false },
{ name: strings.Layouts.Cards.Fields.Date, field: 'date', value: "{{getDate (slot item @root.slots.Date) 'LL'}}", useHandlebarsExpr: true, supportHtml: false },
From c26eca1c46f2445087837e62d639aadcb66a6460 Mon Sep 17 00:00:00 2001
From: Dave <65955023+davemehr@users.noreply.github.com>
Date: Thu, 19 Sep 2024 07:14:35 +0200
Subject: [PATCH 07/23] Update Connect-to-a-search-results-webpart.md
typo in a sub titel
---
docs/scenarios/Connect-to-a-search-results-webpart.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scenarios/Connect-to-a-search-results-webpart.md b/docs/scenarios/Connect-to-a-search-results-webpart.md
index 7e71df4f5..b1b2efa5f 100644
--- a/docs/scenarios/Connect-to-a-search-results-webpart.md
+++ b/docs/scenarios/Connect-to-a-search-results-webpart.md
@@ -5,7 +5,7 @@ The PnP Modern Search Web Parts must be deployed to your App Catalog and activat
This scenario describes how to connect more then one results Web Part together. One results Web Part will view the sites, connected with the current HUB site, the other, connected results Web Part, will show the documents from the selected site.
-## SharePoitn HUB site structure
+## SharePoint HUB site structure
As basic architecture we need a SharePoint HUB site and sites associated to the HUB site.

From 4b6bbf4401fe316437e221c643e824ada31ec0c0 Mon Sep 17 00:00:00 2001
From: Dave <65955023+davemehr@users.noreply.github.com>
Date: Thu, 19 Sep 2024 08:02:25 +0200
Subject: [PATCH 08/23] Create search-verticals-with-parameter
---
.../scenarios/search-verticals-with-parameter | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 docs/scenarios/search-verticals-with-parameter
diff --git a/docs/scenarios/search-verticals-with-parameter b/docs/scenarios/search-verticals-with-parameter
new file mode 100644
index 000000000..29b064e0f
--- /dev/null
+++ b/docs/scenarios/search-verticals-with-parameter
@@ -0,0 +1,29 @@
+# Search verticals with query string parameter
+
+!!! note
+The PnP Modern Search Web Parts must be deployed to your App Catalog and activated on your site. See the [installation documentation](../installation.md) for details.
+
+This scenario describes how you can use query string parameters in search verticals and how you can directly open a vertical with the query string parameter.
+
+## Create a new SharePoint page
+Create a new search page and connect the results webpart with the verticals webpart.
+
+
+
+## Configure search verticals
+Configure the search verticals of your choice with not too long and a useful, clear, "Tab value". I like the icons for an better visual experience for the users.
+
+
+
+### Configure query string paramter
+By default you have a "v" as search query parameter. I like a specific, more meaningful, parameter like "tab".
+
+
+
+## Open verticals with query parameters
+After the configuration you can add the query string parameter to the url and open the specific search vertical direct from a link in page content or from the SharePoint navigation.
+
+Sample URL with query string parameter
+https://.sharepoint.com/sites//SitePages/>SEARCH-PAGE>.aspx?Tab=Sites
+
+
From a949df7f58f4af608902d67cb9feb8dd6aa78486 Mon Sep 17 00:00:00 2001
From: Dave <65955023+davemehr@users.noreply.github.com>
Date: Thu, 19 Sep 2024 08:03:05 +0200
Subject: [PATCH 09/23] Rename search-verticals-with-parameter to
search-verticals-with-parameter.md
---
...erticals-with-parameter => search-verticals-with-parameter.md} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename docs/scenarios/{search-verticals-with-parameter => search-verticals-with-parameter.md} (100%)
diff --git a/docs/scenarios/search-verticals-with-parameter b/docs/scenarios/search-verticals-with-parameter.md
similarity index 100%
rename from docs/scenarios/search-verticals-with-parameter
rename to docs/scenarios/search-verticals-with-parameter.md
From 65e7aac82b77d7c2ef73bd4f96c96de320bac30e Mon Sep 17 00:00:00 2001
From: Dave <65955023+davemehr@users.noreply.github.com>
Date: Thu, 19 Sep 2024 08:16:08 +0200
Subject: [PATCH 10/23] Create readme.md
---
docs/scenarios/assets/search-verticals-with-parameter/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 docs/scenarios/assets/search-verticals-with-parameter/readme.md
diff --git a/docs/scenarios/assets/search-verticals-with-parameter/readme.md b/docs/scenarios/assets/search-verticals-with-parameter/readme.md
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/docs/scenarios/assets/search-verticals-with-parameter/readme.md
@@ -0,0 +1 @@
+
From c6e395f6eeb257b31bad9f6c20e0ef8e108228fa Mon Sep 17 00:00:00 2001
From: Dave <65955023+davemehr@users.noreply.github.com>
Date: Thu, 19 Sep 2024 08:17:07 +0200
Subject: [PATCH 11/23] Add files via upload
---
.../configure-search-results.png | Bin 0 -> 27651 bytes
...figure-search-verticals-query-parameter.png | Bin 0 -> 20986 bytes
.../configure-search-verticals.png | Bin 0 -> 44499 bytes
.../example-query-string-parameter.png | Bin 0 -> 119114 bytes
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 docs/scenarios/assets/search-verticals-with-parameter/configure-search-results.png
create mode 100644 docs/scenarios/assets/search-verticals-with-parameter/configure-search-verticals-query-parameter.png
create mode 100644 docs/scenarios/assets/search-verticals-with-parameter/configure-search-verticals.png
create mode 100644 docs/scenarios/assets/search-verticals-with-parameter/example-query-string-parameter.png
diff --git a/docs/scenarios/assets/search-verticals-with-parameter/configure-search-results.png b/docs/scenarios/assets/search-verticals-with-parameter/configure-search-results.png
new file mode 100644
index 0000000000000000000000000000000000000000..82e67c589d3f8608fb87a766be40ec86bd6c76ba
GIT binary patch
literal 27651
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