Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
5972195
Rules code added
AlexKolonitsky Jun 7, 2016
28a4f19
'bower_components' removed from .gitignore
AlexKolonitsky Jun 8, 2016
6b901af
Revert "'bower_components' removed from .gitignore"
AlexKolonitsky Jun 8, 2016
b98bfa8
bower.json updated
AlexKolonitsky Jun 8, 2016
2f58281
Revert "bower.json updated"
AlexKolonitsky Jun 8, 2016
2692c7c
bower.json updated
AlexKolonitsky Jun 8, 2016
4083333
Bug fixes
AlexKolonitsky Jun 8, 2016
fe3bf09
remove unused files
AlexKolonitsky Jun 8, 2016
5759332
fix initial editing issue
AlexKolonitsky Jun 8, 2016
30b9089
Add rule name editing and unique id , cutted tags fixed
AlexKolonitsky Jun 9, 2016
d4968d2
change status from text type to boolean
AlexKolonitsky Jun 10, 2016
b3c5b3d
add README.md with installation instructions
AlexKolonitsky Jun 10, 2016
8434044
Added numbers to "Rules type"
AlexKolonitsky Jun 10, 2016
30552be
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 10, 2016
4bb38c9
disable pagination buttons if no more available pages
AlexKolonitsky Jun 10, 2016
e67d746
"Add action" changed
AlexKolonitsky Jun 10, 2016
e241386
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 10, 2016
67256ef
Add apply filter and cancel buttons
AlexKolonitsky Jun 10, 2016
6eab62d
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 10, 2016
b0c2ae3
Remove Faceted list and Query Set rule types
AlexKolonitsky Jun 10, 2016
f2e5777
update setup instructions
AlexKolonitsky Jun 10, 2016
e789956
Rules table corrected (still need to change style)
AlexKolonitsky Jun 11, 2016
24194a2
extract services into separate file
AlexKolonitsky Jun 13, 2016
0f23c95
Table fixed
AlexKolonitsky Jun 13, 2016
b5c4611
Add instruction for products collection setup
AlexKolonitsky Jun 13, 2016
66a37fa
Types added
AlexKolonitsky Jun 13, 2016
d16406c
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 13, 2016
f1b1ac9
correct spelling
AlexKolonitsky Jun 13, 2016
1252c5d
placeholder for action inputs
AlexKolonitsky Jun 13, 2016
130fdce
Prevented dropdown from closing on inside click
AlexKolonitsky Jun 13, 2016
3479891
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 13, 2016
8ecbf20
Rename category trigger into filedValue
AlexKolonitsky Jun 13, 2016
3155ffa
Action display in table might be fixed
AlexKolonitsky Jun 13, 2016
7c2fe18
Fixed a display bug
AlexKolonitsky Jun 13, 2016
18d507b
'display_type' field added
AlexKolonitsky Jun 14, 2016
a26a4d0
Category format changed, renamed to field_trigger
AlexKolonitsky Jun 14, 2016
d78cb14
replace stub function call with particular json object
AlexKolonitsky Jun 14, 2016
1b4c8cf
Fix facets
AlexKolonitsky Jun 14, 2016
5d8cd50
enable rule by default
AlexKolonitsky Jun 14, 2016
73cf77f
add 'enable' facets
AlexKolonitsky Jun 14, 2016
26e9ef5
rename filter_trigger to filters
AlexKolonitsky Jun 14, 2016
05ccfed
Banner/redirect strings are no longer comma-separated
AlexKolonitsky Jun 15, 2016
06602a7
display_type and created at/updated at display fixed
AlexKolonitsky Jun 15, 2016
5470a41
"Select all" checkbox fixed
AlexKolonitsky Jun 15, 2016
2771430
Display_type, field_values display fixed, field_name added to the "Ty…
AlexKolonitsky Jun 15, 2016
8ea932a
reload facets after each rule update
AlexKolonitsky Jun 15, 2016
0576860
All/None in the checkbox dropdown are now functional
AlexKolonitsky Jun 15, 2016
60e852f
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 15, 2016
1a347ac
fix add/remove tags in case rule hasn't got tags trigger at all
AlexKolonitsky Jun 15, 2016
6d7531c
add ProductID filed name
AlexKolonitsky Jun 15, 2016
547ac12
Pagination fixed
AlexKolonitsky Jun 16, 2016
8a4c5dc
Pagination fixed
AlexKolonitsky Jun 16, 2016
332bd57
fix facets
AlexKolonitsky Jun 16, 2016
b2c057e
fix filters saving
AlexKolonitsky Jun 16, 2016
3f69f2d
Merge remote-tracking branch 'origin/master'
AlexKolonitsky Jun 17, 2016
483b978
"Add rule" form validation added
AlexKolonitsky Jun 17, 2016
32cbf3c
Set Params rule type added
AlexKolonitsky Jun 21, 2016
115070e
Remove trigger buttons added on add and edit forms
AlexKolonitsky Jun 22, 2016
0b193b3
Filter reset button moved to the left
AlexKolonitsky Jun 22, 2016
2ee8725
Pagination fixed
AlexKolonitsky Jun 22, 2016
da8853c
issue 51 Replace param_names with param_keys bug
AlexKolonitsky Jun 24, 2016
04a2fff
https://github.com/AlexKolonitsky/lucidworks-view/issues/53
AlexKolonitsky Jun 28, 2016
06d44a6
QA: A rule deletion operation should present a confirmation dialog
AlexKolonitsky Jun 30, 2016
89f1b8b
clean up rules creation procedure
AlexKolonitsky Jun 30, 2016
ae1f342
clean up rules creation procedure
AlexKolonitsky Jul 13, 2016
fc4f029
remove obsolete files
AlexKolonitsky Jul 14, 2016
971aed1
merge rules and lucidworks under the same app with single sign in
AlexKolonitsky Jul 18, 2016
fb6a13d
go to rules screen after login
AlexKolonitsky Jul 19, 2016
b733453
add simulation
AlexKolonitsky Jul 25, 2016
f4f5b93
add simulation
AlexKolonitsky Jul 28, 2016
342fd5d
fixed #66 Add a new form - the data from the previous session remains…
AlexKolonitsky Aug 10, 2016
8cb545a
README rule indexing script simplification
Aug 10, 2016
4b62803
remove wrong configuration
AlexKolonitsky Aug 10, 2016
7b641b0
lock in os_prod to built-in config
Aug 10, 2016
638c2c3
added rules using pipeline and script to install
Aug 10, 2016
9860460
remove wrong configuration
AlexKolonitsky Aug 11, 2016
5918b65
fix issues with rules representation
AlexKolonitsky Aug 11, 2016
325c9b9
fix fonts path in order to make it work under the fusion
AlexKolonitsky Sep 1, 2016
164461e
#75 [DONE] Predefine list of tag names
AlexKolonitsky Sep 27, 2016
d0cffc7
#75 [DONE] Predefine list of tag names
AlexKolonitsky Sep 27, 2016
6dc326c
#76 [DONE] Audit logging
AlexKolonitsky Sep 28, 2016
b3b6a3d
#76 Audit logging - add user info into logs
AlexKolonitsky Sep 30, 2016
2d2c58e
#73 Session timeout detection - Fix screen block if session timeout a…
AlexKolonitsky Oct 5, 2016
d55de18
Fix validation for tags input
AlexKolonitsky Oct 7, 2016
9502e7f
#81 you can save the change on edit rule with error in tags input
AlexKolonitsky Oct 27, 2016
f4e3f5e
Can't create rules with similar names #82
AlexKolonitsky Oct 27, 2016
c80b5c4
#86 Implement filtering for status and edited on date
AlexKolonitsky Oct 31, 2016
d47fee5
fix fields trigger
AlexKolonitsky Nov 1, 2016
8245cf3
fix saving rule type
AlexKolonitsky Nov 1, 2016
8fe3956
Types wasn't saved when rule created/updated #89
AlexKolonitsky Nov 2, 2016
df99331
Type saved incorrectly #96
AlexKolonitsky Nov 7, 2016
f92a771
Wrong user name when rules actions logged #100
AlexKolonitsky Nov 7, 2016
a4bcde9
rules matching design #99
AlexKolonitsky Nov 7, 2016
1d65a65
1) rename search_terms_type to matching
AlexKolonitsky Nov 21, 2016
ec90c32
Simulation
IrinaAgamyan Nov 29, 2016
b704310
Simulation:
AlexKolonitsky Nov 30, 2016
dab4938
1) UI fix for filter date
AlexKolonitsky Nov 30, 2016
2e652b4
UI date module change
AlexKolonitsky Dec 1, 2016
fb556af
UI date module change merge
AlexKolonitsky Dec 1, 2016
e406d55
1) Added one dialog for all rules when bulk delete used #87
AlexKolonitsky Dec 2, 2016
1dcd147
Added hiding 'add new tag' input if use predefined in config list of …
AlexKolonitsky Dec 5, 2016
1f00c55
1) Added Cancel, Apply, Reset buttons to close filter popup #102
AlexKolonitsky Dec 5, 2016
8156331
1) Switched dates control from bootstrap to angular directive #103
AlexKolonitsky Dec 9, 2016
a608ccd
Extracted 'add rule' logic into separate controller #104
AlexKolonitsky Dec 9, 2016
3903bd6
Corrected style at the add rule modal #97
AlexKolonitsky Dec 9, 2016
cfaddd7
Added ability to open File and copy it's content to text area at clie…
AlexKolonitsky Dec 12, 2016
98199c2
Added files to repository
AlexKolonitsky Dec 13, 2016
7e8cf15
1) fixed date format
AlexKolonitsky Dec 13, 2016
9e9adc1
fixed addind empty dates
AlexKolonitsky Dec 13, 2016
1299152
fixed check/uncheck all
AlexKolonitsky Dec 14, 2016
ff7b19a
fixed new rule adding
AlexKolonitsky Dec 14, 2016
6594d71
fix simulation update
AlexKolonitsky Dec 14, 2016
ea89dda
fixed delete and bulk delete function
AlexKolonitsky Dec 14, 2016
550d564
merge
AlexKolonitsky Dec 14, 2016
1fdafe1
Merge branch 'master' of https://github.com/AlexKolonitsky/lucidworks…
AlexKolonitsky Dec 14, 2016
415220e
fixed styles for addRule and rules list on simulation page
AlexKolonitsky Dec 14, 2016
8e4bb8f
fixed styles for addRule modal
AlexKolonitsky Dec 15, 2016
919cd5c
fixed bulk adding tag and bulk changing status
AlexKolonitsky Dec 15, 2016
e684b12
fix simulation update
AlexKolonitsky Dec 15, 2016
7a49c15
1) Added rules filter clear when new search
AlexKolonitsky Dec 15, 2016
c1a2d03
fixed url object serialization
AlexKolonitsky Dec 15, 2016
1eef974
fixed tags styles changing after reser filter
AlexKolonitsky Dec 15, 2016
7335548
gulp tasks for Build script
AlexKolonitsky Dec 26, 2016
59cbb91
Put collection name in page title/header #105
AlexKolonitsky Dec 26, 2016
87c2711
1) Put collection name in page title/header #105
AlexKolonitsky Dec 27, 2016
af07c9d
Build script (without uploading assets)
AlexKolonitsky Dec 28, 2016
c1b11bd
edit single rule deleting
AlexKolonitsky Dec 28, 2016
56efcae
fixed single rule deleting
AlexKolonitsky Dec 28, 2016
16ff9c8
1) fixed single rule deleting
AlexKolonitsky Dec 29, 2016
557fcfe
edited checking rules block visibility
AlexKolonitsky Dec 30, 2016
cab3e93
1) added version to FUSION_CONFIG
AlexKolonitsky Dec 30, 2016
70b6b58
Fixed matching type display
AlexKolonitsky Dec 30, 2016
6eef365
fix rules representation at simulation screen
AlexKolonitsky Jan 6, 2017
5ba19ac
update header for rules screen
AlexKolonitsky Jan 16, 2017
3ff934c
fix simulation link
AlexKolonitsky Jan 20, 2017
0902d2e
Fix update boost/block list editing #106
AlexKolonitsky Jan 31, 2017
1044086
change version to 2.8
IrinaAgamyan Jul 18, 2017
75718be
Fix format of multiple field/value triggers #13
IrinaAgamyan Jul 18, 2017
7245e8a
#13 fix filters transformers
AlexKolonitsky Jul 27, 2017
10a4359
#9 add rules.debug option to fusion config
AlexKolonitsky Jul 27, 2017
b4d797b
#13 fix filters publishing
AlexKolonitsky Jul 28, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,4 @@ node_modules
npm-debug.log
tmp

FUSION_CONFIG.js
FUSION_CONFIG.*.js
!FUSION_CONFIG.sample.js
.jira-prefix
71 changes: 56 additions & 15 deletions FUSION_CONFIG.sample.js → FUSION_CONFIG.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
appConfig = { //eslint-disable-line
// If you don't know what you want for some configuration items,
// leave them as-is and see what happens in UI.
// You may need to clear browser history/cache before your changes take affect.
// If you don't know what you want for some configuration items,
// leave them as-is and see what happens in UI.
// You may need to clear browser history/cache before your changes take affect.

/**
* Styles and colors
Expand All @@ -20,9 +20,11 @@ appConfig = { //eslint-disable-line
*
* To use https set the https server key and certificate. And set use_https to true.
*/
version: 'v2.8',
host: 'http://localhost',
port:'8764',


proxy_allow_self_signed_cert: false, // Only turn on if you have a self signed proxy in front of fusion.

// Serve View via https.
Expand All @@ -49,16 +51,16 @@ appConfig = { //eslint-disable-line
*/
anonymous_access: {
username: 'search-user',
// password: 'search-user-password-here'
// password: 'search-user-password-here'
},

// The name of your collection
collection: 'MyCollection',
collection: 'BestBuy',

// Please specify a pipeline or profile that you want to leverage with this UI.
query_pipeline_id: 'default',
query_pipeline_id: 'BestBuy-rules',
query_profile_id: 'default',
use_query_profile: true, // Force use of query-profile
use_query_profile: false, // Force use of query-profile

// Search UI Title
// This title appears in a number of places in the app, including page title.
Expand Down Expand Up @@ -95,9 +97,9 @@ appConfig = { //eslint-disable-line
* your_project_directory/client/assets/components/document/document_default/document_default.html
*/
//In search results, for each doc, display this field as the head field
head_field: 'id',
subhead_field: 'subtitle',
description_field: 'description',
head_field: 'name',
subhead_field: 'department',
description_field: 'longDescription',
//In search results, for each doc, use this field to generate link value when a user clicks on head_field
head_url_field: 'url',
//In search results, display a image in each doc page (leave empty for no image).
Expand Down Expand Up @@ -131,9 +133,11 @@ appConfig = { //eslint-disable-line
//
// The HTML/Angular template is located in the following directory:
// your_project_directory/client/assets/components/document/document.html
fields_to_display:['title','id','name', '*'],
fields_to_display:['name','department','longDescription'],
field_display_labels: {
'name': 'Document Name',
'name': 'Name',
'department': 'Department',
'longDescription': 'Description'
//'id': 'Identification Number'
// you can add as many lines of labels as you want
},
Expand All @@ -154,7 +158,7 @@ appConfig = { //eslint-disable-line

// If enabled and a landing page is triggered via a query, the app will redirect
// the user to the url provided.
landing_page_redirect: true,
landing_page_redirect: false,

/**
* Sorts
Expand Down Expand Up @@ -198,6 +202,43 @@ appConfig = { //eslint-disable-line
// @see https://lucidworks.com/blog/2016/02/04/fusion-plus-solr-suggesters-search-less-typing/

//typeahead_requesthandler: 'suggest', // recommended (requires configuration)
typeahead_requesthandler: 'select'

typeahead_requesthandler: 'select',

rules: {
debug: true,
collection: 'BestBuy_rules',

tags: [
"PROD", "TEST", "DESKTOP", "MOBILE"
],

types: {
"Filter List": "filter_list",
"Block List": "block_list",
"Boost List": "boost_list",
"Redirect": "response_value",
"Banner": "response_value",
"Set Params": "set_params"
},

searchTermsMatching: {
text: "Text",
keywords: "Keywords",
contains: "Contains"
},

set_params: {
policies : {
"append": "Append",
"replace": "Replace"
}
},

documentFields: {
"type": "Type",
"id": "Product Id",
"department": "Department",
"categoryIds": "Category Id"
}
}
};
145 changes: 66 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,26 @@
# Lucidworks View
[Lucidworks View](https://lucidworks.com/products/view/) is a consumer-facing front end for Lucidworks Fusion. It provides a basic search interface with simple configuration, so you can quickly deliver a Fusion-based search solution with minimal development. View is powered by Fusion, Gulp, Angular, and libSaSS.
# Lucidworks Rules

You can also use View as the basis for developing a more sophisticated Web interface, using Foundation for Apps: http://foundation.zurb.com/apps/docs/

If you need help setting up Fusion, see https://doc.lucidworks.com/.

## Requirements

If you downloaded a [platform-specific package](https://github.com/lucidworks/lucidworks-view/releases), all dependencies are included. Skip to Get Started step 4.

If you start by cloning the repository, you'll need the following software:

- [Fusion](https://doc.lucidworks.com/): If you need help setting up Fusion, see https://doc.lucidworks.com/.
- [Node.js](http://nodejs.org): Use the installer for your OS. Use version 5.xxx.
- [Git](http://git-scm.com/downloads) (if you're cloning the repo): Use the installer for your OS.
- Windows users can also try [Git for Windows](http://git-for-windows.github.io/).
- [Gulp](http://gulpjs.com/) and [Bower](http://bower.io): Run `npm install -g gulp bower`
- Depending on how Node is configured on your machine, you may need to run `sudo npm install -g gulp bower` instead, if you get an error with the first command.
- [Bower](http://bower.io): Run `npm install -g bower`

## Get Started

1. Clone the repository, where `app` is the name of your app:

```bash
git clone https://github.com/lucidworks/lucidworks-view app
git clone https://github.com/AlexKolonitsky/lucidworks-view app
```

1. Change into the directory:

```bash
cd app
cd app/rules
```

1. Install the dependencies:
Expand All @@ -38,74 +30,69 @@ If you start by cloning the repository, you'll need the following software:
bower install
```

1. While you're working on your project, run:

* If you downloaded a tar package:

```bash
./view.sh start
```

* If you cloned the repository:

```bash
npm start
```

This will compile the SaSS, assemble your Angular app, and create `FUSION_CONFIG.js` (if you haven't created it already). You'll see output that tells you which port was selected:
1. Set up fusion collections:

```bash
#!/usr/bin/env bash
export FUSION_HOME=$HOME/fusion-2.1.3
export FUSION_API_BASE=http://localhost:8764/api/apollo
export SOLR_API_BASE=http://localhost:8983/solr
export FUSION_API_CREDENTIALS=admin:123qweasdzxc

# create products collection
curl -u $FUSION_API_CREDENTIALS -X PUT -H 'Content-type: application/json' \
-d '{"solrParams":{"replicationFactor":1,"numShards":1}}' \
${FUSION_API_BASE}/collections/os_prod

# Adjust schema to allow attr-* fields to be strings rather than autodetected
curl -X POST -H 'Content-type:application/json' --data-binary '{
"add-dynamic-field":{
"name":"attr-*",
"type":"string",
"multiValued":true,
"stored":false }
}' $SOLR_API_BASE/os_prod/schema

curl -X POST -H 'Content-type:application/json' --data-binary '{
"replace-field":{
"name":"createdAt",
"type":"tdate",
"stored":true,
"multiValued":false}
}' $SOLR_API_BASE/os_prod_rules/schema

curl -X POST -H 'Content-type:application/json' --data-binary '{
"replace-field":{
"name":"updatedAt",
"type":"tdate",
"stored":true,
"multiValued":false}
}' $SOLR_API_BASE/os_prod_rules/schema

# set up -with-products pipeline for products (os_prod) collection
curl -u $FUSION_API_CREDENTIALS -X DELETE ${FUSION_API_BASE}/query-pipelines/os_prod-with-rules
curl -u $FUSION_API_CREDENTIALS -X POST -H 'Content-type: application/json' -d @os_prod-with-rules-query-pipeline.json ${FUSION_API_BASE}/query-pipelines


# upload products data
$FUSION_HOME/apps/solr-dist/bin/post -c os_prod -params "rowid=id&csv.mv.separator=~&csv.mv.encapsulator=%60&f.PhraseText.split=true&f.Category-search.split=true&f.CategoryID.split=true&f.CategoryID.separator=~&f.Color-search.split=true&f.attr-__General__LNav_Colors.split=true&f.ImageData.split=true&f.attr-__General__LNavColorCategory.split=true&skip=_version_,Brand-search,Color-search,Category-no_stem,Name-search,Name-no_stem,Name-sort,Price-search,PricePerMonth-search,ProductID-search,autoPhrase_text,LastIndexed,_text_" products.csv

# create rules collection (specific to the example products)
curl -u $FUSION_API_CREDENTIALS -X PUT -H 'Content-type: application/json' \
-d '{"solrParams":{"replicationFactor":1,"numShards":1}}' \
${FUSION_API_BASE}/collections/os_prod_rules

curl -u $FUSION_API_CREDENTIALS -X PUT -H Content-type:application/json \
-d '{"enabled":true}' ${FUSION_API_BASE}/collections/os_prod/features/signals

# upload rules data
$FUSION_HOME/apps/solr-dist/bin/post -c os_prod_rules rules.json
```
[BS] Access URLs:
------------------------------------
Local: http://localhost:3000
External: http://<external IP>:3000
------------------------------------
```

The default is port 3000, but if that port is already in use then the app selects the next highest available port.

1. **Now go to `http://localhost:<port>` in your browser to see it in action.**

The first time you browse to the app, you'll see a login page. Use your Fusion username and password. To enable anonymous access, edit the `anonymous_access` keys in FUSION_CONFIG.js.

When you change FUSION_CONFIG.js or any file in the `client` folder, the appropriate Gulp task will run to build new files. This uses [`browser-sync`](https://www.browsersync.io/) for instant reload upon change of source files. Visit `http://localhost:3001` (or whatever your terminal shows as the browser-sync UI) for the `browser-sync` dashboard.

To run the compiling process once, without watching any files, use the `build` command:
```bash
npm run build
```

## Unit testing

```
npm run build
npm test
```
1. All configuration such as fusion url, available rule types or documents fields should be made in FUSION_CONFIG.js

## Basic Configuration
1. Run application:

The first time you run `npm start`, FUSION_CONFIG.sample.js is copied to FUSION_CONFIG.js. Modify this file to configure View's basic options. Documentation about the configuration keys is included in the file.

At a minimum, you _must_ configure the `collection` key to match the name of your Fusion collection.

In a production environment, you must also configure `host` and `port` to point to the UI service of your Fusion deployment. The default is `localhost:8764` for development purposes.

When the app is running with BrowserSync, it reloads the configuration every time you save FUSION_CONFIG.js. You can modify the configuration and watch the app change in real time in your browser.

## Basic Customization

The title and logo for your interface are configured in FUSION_CONFIG.js as `search_app_title` and `logo_location`.

CSS options are configured in the files in client/assets/scss.

Templates for various UI components are located in client/assets/components.

Search results from different document types can use different templates. The `client/assets/components/document` directory contains templates for some common document types, plus default templates for all others. Data types correspond to Connectors in Fusion. See [Customizing Documents](docs/Customizing_Documents.md) for details about working with these.

## What's Next

For more details about configuring and customizing View, see the [docs](docs/) directory.

## Contributions

View is open source! Pull requests welcome. This is a great way to give back to the community and help others build a better search app.
```bash
npm start
```
18 changes: 16 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,26 @@
"angucomplete-alt": "~2.2.0",
"angular-sanitize": "~1.4.10",
"angular-rison": "~0.0.13",
"angularjs-humanize": "master"
"angularjs-humanize": "master",
"bootstrap-sass": "~3.3.5",
"modernizr": "~2.8.3",
"font-awesome": "^4.6.3",
"eonasdan-bootstrap-datetimepicker": "^4.17.37",
"autosize": "^3.0.15",
"bootstrap-tagsinput": "^0.8.0",
"angular": "~1.5.0",
"angular-route": "~1.5.0",
"angular-loader": "~1.5.0",
"angular-mocks": "~1.5.0",
"html5-boilerplate": "^5.3.0",
"ng-tags-input": "^3.1.1",
"adm-dtp": "*",
"checklist-model": "^0.10.0"
},
"devDependencies": {
"angular-mocks": "~1.4.10"
},
"resolutions": {
"angular": "1.3.x - 1.4.x"
}
}
}
3 changes: 3 additions & 0 deletions client/assets/components/banner/_banner.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.banners-list {
list-style-type: none;
}
8 changes: 8 additions & 0 deletions client/assets/components/banner/banner.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div ng-if="bd.banners" class="card">
<div class="card-section center">
<span>Banners:</span>
<ul class="banners-list">
<li ng-repeat="banner in bd.banners">{{banner}}</a></li>
</ul>
</div>
</div>
Loading