Improvements to react-search-refiner web part (#589)
* Added weburl/siteurl tokens Added getUrlField helper method Changed property pane settings headers/grouping Updated ouifr version to v5.118.0 Updated handlebar helper to v0.8.4 Updated readme * Added webpack-bundle-analyzer * Fixed ouifr static references to limit bundle size
This commit is contained in:
parent
10af3ba114
commit
df2648f8f4
|
@ -120,8 +120,11 @@ Setting | Description
|
||||||
`{{getDate <date_managed_property> "<format>}}"` | Format the date with moment.ts according to the current language.
|
`{{getDate <date_managed_property> "<format>}}"` | Format the date with moment.ts according to the current language.
|
||||||
`{{getPreviewSrc item}}` | Determine the image thumbnail URL if applicable.
|
`{{getPreviewSrc item}}` | Determine the image thumbnail URL if applicable.
|
||||||
`{{getUrl item}}` | Get the item URL. For a document, it means the URL to the Office Online instance or the direct URL (to download it).
|
`{{getUrl item}}` | Get the item URL. For a document, it means the URL to the Office Online instance or the direct URL (to download it).
|
||||||
|
`{{getUrlField managed_propertyOWSURLH "URL/Title"}}` | Return the URL or Title part of a URL field managed property.
|
||||||
`{{getCountMessage totalRows <?keywords>}}` | Display a friendly message displaying the result and the entered keywords.
|
`{{getCountMessage totalRows <?keywords>}}` | Display a friendly message displaying the result and the entered keywords.
|
||||||
`{{<search_managed_property_name>}}` | Any valid search managed property returned in the results set. These are typically managed properties set in the *"Selected properties"* setting in the property pane. You don't need to prefix them with `item.` if you are in the "each" loop.
|
`{{<search_managed_property_name>}}` | Any valid search managed property returned in the results set. These are typically managed properties set in the *"Selected properties"* setting in the property pane. You don't need to prefix them with `item.` if you are in the "each" loop.
|
||||||
|
`{{webUrl}}` | The current web relative url. Use `{{../webUrl}}` inside a loop.
|
||||||
|
`{{siteUrl}}` | The current site relative url. Use `{{../siteUrl}}` inside a loop.
|
||||||
|
|
||||||
Also the [Handlebars helpers](https://github.com/helpers/handlebars-helpers) (188 helpers) are also available. You can also define your own in the *BaseTemplateService.ts* file.
|
Also the [Handlebars helpers](https://github.com/helpers/handlebars-helpers) (188 helpers) are also available. You can also define your own in the *BaseTemplateService.ts* file.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const gulp = require('gulp');
|
const gulp = require('gulp');
|
||||||
|
const path = require('path');
|
||||||
const build = require('@microsoft/sp-build-web');
|
const build = require('@microsoft/sp-build-web');
|
||||||
|
const bundleAnalyzer = require('webpack-bundle-analyzer');
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
* Adds an alias for handlebars in order to avoid errors while gulping the project
|
* Adds an alias for handlebars in order to avoid errors while gulping the project
|
||||||
|
@ -28,8 +30,20 @@ build.configureWebpack.mergeConfig({
|
||||||
fs: 'empty'
|
fs: 'empty'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const lastDirName = path.basename(__dirname);
|
||||||
|
const dropPath = path.join(__dirname, 'temp', 'stats');
|
||||||
|
generatedConfiguration.plugins.push(new bundleAnalyzer.BundleAnalyzerPlugin({
|
||||||
|
openAnalyzer: false,
|
||||||
|
analyzerMode: 'static',
|
||||||
|
reportFilename: path.join(dropPath, `${lastDirName}.stats.html`),
|
||||||
|
generateStatsFile: true,
|
||||||
|
statsFilename: path.join(dropPath, `${lastDirName}.stats.json`),
|
||||||
|
logLevel: 'error'
|
||||||
|
}));
|
||||||
|
|
||||||
return generatedConfiguration;
|
return generatedConfiguration;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
build.initialize(gulp);
|
build.initialize(gulp);
|
||||||
|
|
|
@ -2169,9 +2169,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/fabric": {
|
"@types/fabric": {
|
||||||
"version": "1.5.37",
|
"version": "1.5.40",
|
||||||
"resolved": "https://registry.npmjs.org/@types/fabric/-/fabric-1.5.37.tgz",
|
"resolved": "https://registry.npmjs.org/@types/fabric/-/fabric-1.5.40.tgz",
|
||||||
"integrity": "sha512-SBgayDbEmiZ8VYDNqHd3vdqx0qjuCjt9X1B8fZ1aJRtHjGFxj6CRE+v/l7nnKEtJNfb4g/4HVNwD694/1hQMqg=="
|
"integrity": "sha512-fs+hmCkRw9SRrwu61MuVD6ZeBzY9XVKzi42mLDgKpysQ5pILX+p7JL2XZlBhi0ygii1lxZjU1e/LgVarIflfQg=="
|
||||||
},
|
},
|
||||||
"@types/finalhandler": {
|
"@types/finalhandler": {
|
||||||
"version": "0.0.31",
|
"version": "0.0.31",
|
||||||
|
@ -2234,9 +2234,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/handlebars": {
|
"@types/handlebars": {
|
||||||
"version": "4.0.38",
|
"version": "4.0.39",
|
||||||
"resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.38.tgz",
|
"resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.39.tgz",
|
||||||
"integrity": "sha512-oMzU0D7jDp+H2go/i0XqBHfr+HEhYD/e1TvkhHi3yrhQm/7JFR8FJMdvoH76X8G1FBpgc6Pwi+QslCJBeJ1N9g=="
|
"integrity": "sha512-vjaS7Q0dVqFp85QhyPSZqDKnTTCemcSHNHFvDdalO1s0Ifz5KuE64jQD5xoUkfdWwF4WpqdJEl7LsWH8rzhKJA=="
|
||||||
},
|
},
|
||||||
"@types/karma": {
|
"@types/karma": {
|
||||||
"version": "0.13.33",
|
"version": "0.13.33",
|
||||||
|
@ -3295,6 +3295,12 @@
|
||||||
"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
|
"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"async-limiter": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"asynckit": {
|
"asynckit": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
@ -3881,6 +3887,25 @@
|
||||||
"callsite": "1.0.0"
|
"callsite": "1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"bfj-node4": {
|
||||||
|
"version": "5.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz",
|
||||||
|
"integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"bluebird": "3.5.1",
|
||||||
|
"check-types": "7.4.0",
|
||||||
|
"tryer": "1.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"bluebird": {
|
||||||
|
"version": "3.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
||||||
|
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"big.js": {
|
"big.js": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||||
|
@ -4351,6 +4376,12 @@
|
||||||
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
|
"integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"check-types": {
|
||||||
|
"version": "7.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
|
||||||
|
"integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"chokidar": {
|
"chokidar": {
|
||||||
"version": "1.7.0",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
|
||||||
|
@ -5630,6 +5661,12 @@
|
||||||
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
|
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"ejs": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
|
||||||
|
"integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.3.50",
|
"version": "1.3.50",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz",
|
||||||
|
@ -6547,6 +6584,12 @@
|
||||||
"minimatch": "3.0.4"
|
"minimatch": "3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"filesize": {
|
||||||
|
"version": "3.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
|
||||||
|
"integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"fill-range": {
|
"fill-range": {
|
||||||
"version": "2.2.4",
|
"version": "2.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
|
||||||
|
@ -9172,6 +9215,24 @@
|
||||||
"glogg": "1.0.1"
|
"glogg": "1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gzip-size": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
|
||||||
|
"integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"duplexer": "0.1.1",
|
||||||
|
"pify": "3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"pify": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"handlebars": {
|
"handlebars": {
|
||||||
"version": "4.0.11",
|
"version": "4.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
|
||||||
|
@ -9184,9 +9245,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"handlebars-helpers": {
|
"handlebars-helpers": {
|
||||||
"version": "0.8.2",
|
"version": "0.8.4",
|
||||||
"resolved": "https://registry.npmjs.org/handlebars-helpers/-/handlebars-helpers-0.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/handlebars-helpers/-/handlebars-helpers-0.8.4.tgz",
|
||||||
"integrity": "sha1-jg232KkYSyVXIyEyFqpmh0KgpN0=",
|
"integrity": "sha1-+YgLeujYkOYxoxRvAZBQAFxU7RI=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"arr-filter": "1.1.2",
|
"arr-filter": "1.1.2",
|
||||||
"arr-flatten": "1.1.0",
|
"arr-flatten": "1.1.0",
|
||||||
|
@ -13673,17 +13734,49 @@
|
||||||
"integrity": "sha512-VwGbHIT89e+9XdGcb2gdPgKgYQGjRG5peyPNO982znlCSB/UIM9g7gF6JmHpaMHb8xvEScY7UGJ8GRz6GQVBRg=="
|
"integrity": "sha512-VwGbHIT89e+9XdGcb2gdPgKgYQGjRG5peyPNO982znlCSB/UIM9g7gF6JmHpaMHb8xvEScY7UGJ8GRz6GQVBRg=="
|
||||||
},
|
},
|
||||||
"office-ui-fabric-react": {
|
"office-ui-fabric-react": {
|
||||||
"version": "5.21.0",
|
"version": "5.118.0",
|
||||||
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-5.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-5.118.0.tgz",
|
||||||
"integrity": "sha512-9IBLK6JUWYvdCumKywjkSP7mf/MqTRorP1qXtb2c+w2fQJH4NkdBjanO0zr37c5VPwlqc0KvPf51E9t1NU7oTg==",
|
"integrity": "sha512-foDTN918nHDoBrotjviSJWrmR+eGJj6nWkNT8pGcyQIrrw09/TIeihAmNbMmsu8RewLltDlvC2SiSkny6N0iLw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@microsoft/load-themed-styles": "1.7.53",
|
"@microsoft/load-themed-styles": "1.7.53",
|
||||||
"@uifabric/icons": "5.7.1",
|
"@uifabric/icons": "5.8.0",
|
||||||
"@uifabric/merge-styles": "5.17.1",
|
"@uifabric/merge-styles": "5.17.1",
|
||||||
"@uifabric/styling": "5.31.0",
|
"@uifabric/styling": "5.31.2",
|
||||||
"@uifabric/utilities": "5.27.0",
|
"@uifabric/utilities": "5.34.1",
|
||||||
"prop-types": "15.6.2",
|
"prop-types": "15.6.2",
|
||||||
"tslib": "1.8.1"
|
"tslib": "1.8.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@uifabric/icons": {
|
||||||
|
"version": "5.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-5.8.0.tgz",
|
||||||
|
"integrity": "sha512-EUhKxYlIPJshg4fQvCNTYSk0p7RhzEWeEAJBV4sao1SKmN0/pZBnkLbDqWjU5VUfdwZZYiIdaLRpM+pyzhniZw==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/styling": "5.31.2",
|
||||||
|
"tslib": "1.8.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/styling": {
|
||||||
|
"version": "5.31.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-5.31.2.tgz",
|
||||||
|
"integrity": "sha512-G7grRENxdB4NcUEtQmSisRDnIeQHQmAfcpIe5AWmVQxnB/e8U/jT+SzYqK6V12SnLf4ufN5nepZkdOjgbtuA1Q==",
|
||||||
|
"requires": {
|
||||||
|
"@microsoft/load-themed-styles": "1.7.53",
|
||||||
|
"@uifabric/merge-styles": "5.17.1",
|
||||||
|
"@uifabric/utilities": "5.34.1",
|
||||||
|
"tslib": "1.8.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@uifabric/utilities": {
|
||||||
|
"version": "5.34.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-5.34.1.tgz",
|
||||||
|
"integrity": "sha512-xUZ+KlCxmA9PCEOtutfeyYnPmySkEVA/ak3fb8Uj54684GlbrnlqrfNEencVG5YgQDcNEaztTwxW3I7jSCrYJQ==",
|
||||||
|
"requires": {
|
||||||
|
"@uifabric/merge-styles": "5.17.1",
|
||||||
|
"prop-types": "15.6.2",
|
||||||
|
"tslib": "1.8.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"on-finished": {
|
"on-finished": {
|
||||||
|
@ -13716,6 +13809,12 @@
|
||||||
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
|
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"opener": {
|
||||||
|
"version": "1.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz",
|
||||||
|
"integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"optimist": {
|
"optimist": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
|
||||||
|
@ -18123,6 +18222,12 @@
|
||||||
"integrity": "sha1-jbAWIuh35RuDFAyu58gIZK05DII=",
|
"integrity": "sha1-jbAWIuh35RuDFAyu58gIZK05DII=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"tryer": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.1.tgz",
|
||||||
|
@ -19035,6 +19140,73 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"webpack-bundle-analyzer": {
|
||||||
|
"version": "2.13.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz",
|
||||||
|
"integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"acorn": "5.7.1",
|
||||||
|
"bfj-node4": "5.3.1",
|
||||||
|
"chalk": "2.4.1",
|
||||||
|
"commander": "2.16.0",
|
||||||
|
"ejs": "2.6.1",
|
||||||
|
"express": "4.16.3",
|
||||||
|
"filesize": "3.6.1",
|
||||||
|
"gzip-size": "4.1.0",
|
||||||
|
"lodash": "4.17.10",
|
||||||
|
"mkdirp": "0.5.1",
|
||||||
|
"opener": "1.4.3",
|
||||||
|
"ws": "4.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"acorn": {
|
||||||
|
"version": "5.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
|
||||||
|
"integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "1.9.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "3.2.1",
|
||||||
|
"escape-string-regexp": "1.0.5",
|
||||||
|
"supports-color": "5.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "5.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
|
||||||
|
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"async-limiter": "1.0.0",
|
||||||
|
"safe-buffer": "5.1.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"webpack-dev-middleware": {
|
"webpack-dev-middleware": {
|
||||||
"version": "1.12.2",
|
"version": "1.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
|
||||||
|
|
|
@ -11,49 +11,50 @@
|
||||||
"test": "gulp test"
|
"test": "gulp test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"react": "15.6.2",
|
"@microsoft/decorators": "1.5.1-plusbeta",
|
||||||
"react-dom": "15.6.2",
|
"@microsoft/sp-application-base": "1.5.1-plusbeta",
|
||||||
"@types/react": "15.6.6",
|
|
||||||
"@types/react-dom": "15.5.6",
|
|
||||||
"@microsoft/sp-loader": "1.5.1-plusbeta",
|
|
||||||
"@microsoft/sp-core-library": "1.5.1-plusbeta",
|
"@microsoft/sp-core-library": "1.5.1-plusbeta",
|
||||||
"@microsoft/sp-webpart-base": "1.5.1-plusbeta",
|
"@microsoft/sp-dialog": "1.5.1-plusbeta",
|
||||||
|
"@microsoft/sp-loader": "1.5.1-plusbeta",
|
||||||
"@microsoft/sp-lodash-subset": "1.5.1-plusbeta",
|
"@microsoft/sp-lodash-subset": "1.5.1-plusbeta",
|
||||||
"@microsoft/sp-office-ui-fabric-core": "1.5.1-plusbeta",
|
"@microsoft/sp-office-ui-fabric-core": "1.5.1-plusbeta",
|
||||||
"@types/webpack-env": "1.13.1",
|
"@microsoft/sp-webpart-base": "1.5.1-plusbeta",
|
||||||
"@types/es6-promise": "0.0.33",
|
|
||||||
"@pnp/common": "1.0.3",
|
"@pnp/common": "1.0.3",
|
||||||
"@pnp/logging": "1.0.3",
|
"@pnp/logging": "1.0.3",
|
||||||
"@pnp/odata": "1.0.3",
|
"@pnp/odata": "1.0.3",
|
||||||
"@pnp/sp": "1.0.3",
|
"@pnp/sp": "1.0.3",
|
||||||
"@pnp/spfx-controls-react": "1.5.0",
|
"@pnp/spfx-controls-react": "1.5.0",
|
||||||
"@pnp/spfx-property-controls": "1.7.0",
|
"@pnp/spfx-property-controls": "1.7.0",
|
||||||
"@types/fabric": "^1.5.34",
|
"@types/es6-promise": "0.0.33",
|
||||||
"@types/handlebars": "^4.0.38",
|
"@types/fabric": "^1.5.40",
|
||||||
|
"@types/handlebars": "^4.0.39",
|
||||||
|
"@types/react": "15.6.6",
|
||||||
|
"@types/react-dom": "15.5.6",
|
||||||
"@types/sharepoint": "2013.1.9",
|
"@types/sharepoint": "2013.1.9",
|
||||||
|
"@types/webpack-env": "1.13.1",
|
||||||
"common-tags": "^1.8.0",
|
"common-tags": "^1.8.0",
|
||||||
"downshift": "^1.31.14",
|
"downshift": "^1.31.14",
|
||||||
"handlebars": "4.0.11",
|
"handlebars": "4.0.11",
|
||||||
"handlebars-helpers": "0.8.2",
|
"handlebars-helpers": "0.8.4",
|
||||||
"immutability-helper": "2.4.0",
|
"immutability-helper": "2.4.0",
|
||||||
"lodash-es": "4.17.4",
|
"lodash-es": "4.17.4",
|
||||||
"moment": "2.21.0",
|
"moment": "2.21.0",
|
||||||
"office-ui-fabric-react": "5.21.0",
|
"office-ui-fabric-react": "^5.118.0",
|
||||||
|
"react": "15.6.2",
|
||||||
"react-ace": "^6.1.1",
|
"react-ace": "^6.1.1",
|
||||||
"react-custom-scrollbars": "4.1.2",
|
"react-custom-scrollbars": "4.1.2",
|
||||||
"react-js-pagination": "3.0.0",
|
"react-dom": "15.6.2",
|
||||||
"@microsoft/decorators": "1.5.1-plusbeta",
|
"react-js-pagination": "3.0.0"
|
||||||
"@microsoft/sp-dialog": "1.5.1-plusbeta",
|
|
||||||
"@microsoft/sp-application-base": "1.5.1-plusbeta"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@microsoft/sp-build-web": "1.5.1-plusbeta",
|
"@microsoft/sp-build-web": "1.5.1-plusbeta",
|
||||||
"@microsoft/sp-module-interfaces": "1.5.1-plusbeta",
|
"@microsoft/sp-module-interfaces": "1.5.1-plusbeta",
|
||||||
"@microsoft/sp-webpart-workbench": "1.5.1-plusbeta",
|
"@microsoft/sp-webpart-workbench": "1.5.1-plusbeta",
|
||||||
"gulp": "~3.9.1",
|
|
||||||
"@types/chai": "3.4.34",
|
"@types/chai": "3.4.34",
|
||||||
"@types/mocha": "2.2.38",
|
"@types/mocha": "2.2.38",
|
||||||
"ajv": "~5.2.2",
|
"ajv": "~5.2.2",
|
||||||
"unlazy-loader": "0.1.2"
|
"gulp": "~3.9.1",
|
||||||
|
"unlazy-loader": "0.1.2",
|
||||||
|
"webpack-bundle-analyzer": "^2.13.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,6 +158,16 @@ abstract class BaseTemplateService {
|
||||||
return moment(date).format(format);
|
return moment(date).format(format);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Return the URL or Title part of a URL automatic managed property
|
||||||
|
// <p>{{getDate MyLinkOWSURLH "Title"}}</p>
|
||||||
|
Handlebars.registerHelper("getUrlField", (urlField: string, value: "URL" | "Title" ) => {
|
||||||
|
let separatorPos = urlField.lastIndexOf(",");
|
||||||
|
if(value === "URL") {
|
||||||
|
return urlField.substr(0, separatorPos);
|
||||||
|
}
|
||||||
|
return urlField.substr(separatorPos+1).trim();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react';
|
import { Dialog, DialogType, DialogFooter } from 'office-ui-fabric-react/lib/Dialog';
|
||||||
import { Button, ButtonType, Label } from 'office-ui-fabric-react';
|
import { Button, ButtonType } from 'office-ui-fabric-react/lib/Button';
|
||||||
import { TextField } from 'office-ui-fabric-react';
|
import { Label } from 'office-ui-fabric-react/lib/Label';
|
||||||
import { ITextDialogProps } from './ITextDialogProps';
|
import { ITextDialogProps } from './ITextDialogProps';
|
||||||
import { ITextDialogState } from './ITextDialogState';
|
import { ITextDialogState } from './ITextDialogState';
|
||||||
import AceEditor from 'react-ace';
|
import AceEditor from 'react-ace';
|
||||||
|
|
|
@ -3,16 +3,12 @@
|
||||||
"id": "42ad2740-3c60-49cf-971a-c44e33511b93",
|
"id": "42ad2740-3c60-49cf-971a-c44e33511b93",
|
||||||
"alias": "SearchWebPart",
|
"alias": "SearchWebPart",
|
||||||
"componentType": "WebPart",
|
"componentType": "WebPart",
|
||||||
// The "*" signifies that the version should be taken from the package.json
|
|
||||||
"version": "*",
|
"version": "*",
|
||||||
"manifestVersion": 2,
|
"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,
|
"requiresCustomScript": false,
|
||||||
"preconfiguredEntries": [
|
"preconfiguredEntries": [
|
||||||
{
|
{
|
||||||
"groupId": "5c03119e-3074-46fd-976b-c60198311f70", // Other
|
"groupId": "5c03119e-3074-46fd-976b-c60198311f70",
|
||||||
"group": {
|
"group": {
|
||||||
"default": "PnP"
|
"default": "PnP"
|
||||||
},
|
},
|
||||||
|
|
|
@ -547,7 +547,8 @@ export default class SearchResultsWebPart extends BaseClientSideWebPart<ISearchR
|
||||||
showBlank: this.properties.showBlank,
|
showBlank: this.properties.showBlank,
|
||||||
displayMode: this.displayMode,
|
displayMode: this.displayMode,
|
||||||
templateService: this._templateService,
|
templateService: this._templateService,
|
||||||
templateContent: this._templateContentToDisplay
|
templateContent: this._templateContentToDisplay,
|
||||||
|
context: this.context
|
||||||
} as ISearchContainerProps
|
} as ISearchContainerProps
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -581,23 +582,24 @@ export default class SearchResultsWebPart extends BaseClientSideWebPart<ISearchR
|
||||||
return {
|
return {
|
||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
|
header: {
|
||||||
|
description: "Query settings"
|
||||||
|
},
|
||||||
groups: [
|
groups: [
|
||||||
{
|
{
|
||||||
groupName: strings.SearchQuerySettingsGroupName,
|
groupName: strings.SearchQuerySettingsGroupName,
|
||||||
groupFields: this._getSearchQueryFields()
|
groupFields: this._getSearchQueryFields(),
|
||||||
|
isCollapsed: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
groupName: strings.SearchSettingsGroupName,
|
groupName: strings.SearchSettingsGroupName,
|
||||||
groupFields: this._getSearchSettingsFields()
|
groupFields: this._getSearchSettingsFields(),
|
||||||
|
isCollapsed: false
|
||||||
},
|
},
|
||||||
],
|
|
||||||
displayGroupsAsAccordion: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
groups: [
|
|
||||||
{
|
{
|
||||||
groupName: strings.StylingSettingsGroupName,
|
groupName: strings.StylingSettingsGroupName,
|
||||||
groupFields: this._getStylingFields()
|
groupFields: this._getStylingFields(),
|
||||||
|
isCollapsed: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
displayGroupsAsAccordion: true
|
displayGroupsAsAccordion: true
|
||||||
|
|
|
@ -16,7 +16,7 @@ import {
|
||||||
IGroupDividerProps
|
IGroupDividerProps
|
||||||
} from 'office-ui-fabric-react/lib/components/GroupedList/index';
|
} from 'office-ui-fabric-react/lib/components/GroupedList/index';
|
||||||
import { Scrollbars } from 'react-custom-scrollbars';
|
import { Scrollbars } from 'react-custom-scrollbars';
|
||||||
import { ActionButton } from 'office-ui-fabric-react';
|
import { ActionButton } from 'office-ui-fabric-react/lib/Button';
|
||||||
|
|
||||||
export default class FilterPanel extends React.Component<IFilterPanelProps, IFilterPanelState> {
|
export default class FilterPanel extends React.Component<IFilterPanelProps, IFilterPanelState> {
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@ interface ISearchResultsTemplateContext {
|
||||||
totalRows: number;
|
totalRows: number;
|
||||||
keywords: string;
|
keywords: string;
|
||||||
showResultsCount: boolean;
|
showResultsCount: boolean;
|
||||||
|
siteUrl: string;
|
||||||
|
webUrl: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ISearchResultsTemplateContext;
|
export default ISearchResultsTemplateContext;
|
|
@ -2,6 +2,7 @@ import ISearchService from '../../../../services/SearchService/ISearchServi
|
||||||
import ITaxonomyService from '../../../../services/TaxonomyService/ITaxonomyService';
|
import ITaxonomyService from '../../../../services/TaxonomyService/ITaxonomyService';
|
||||||
import { DisplayMode } from '@microsoft/sp-core-library';
|
import { DisplayMode } from '@microsoft/sp-core-library';
|
||||||
import TemplateService from '../../../../services/TemplateService/TemplateService';
|
import TemplateService from '../../../../services/TemplateService/TemplateService';
|
||||||
|
import { WebPartContext } from '@microsoft/sp-webpart-base';
|
||||||
|
|
||||||
interface ISearchResultsContainerProps {
|
interface ISearchResultsContainerProps {
|
||||||
|
|
||||||
|
@ -74,6 +75,11 @@ interface ISearchResultsContainerProps {
|
||||||
* The template raw content to display
|
* The template raw content to display
|
||||||
*/
|
*/
|
||||||
templateContent: string;
|
templateContent: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The web part context
|
||||||
|
*/
|
||||||
|
context: WebPartContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ISearchResultsContainerProps;
|
export default ISearchResultsContainerProps;
|
|
@ -94,7 +94,9 @@ export default class SearchResultsContainer extends React.Component<ISearchConta
|
||||||
items: this.state.results.RelevantResults,
|
items: this.state.results.RelevantResults,
|
||||||
totalRows: this.state.resultCount,
|
totalRows: this.state.resultCount,
|
||||||
keywords: this.props.queryKeywords,
|
keywords: this.props.queryKeywords,
|
||||||
showResultsCount: this.props.showResultsCount
|
showResultsCount: this.props.showResultsCount,
|
||||||
|
siteUrl: this.props.context.pageContext.site.serverRelativeUrl,
|
||||||
|
webUrl: this.props.context.pageContext.web.serverRelativeUrl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in New Issue