Files
awx/awx/ui/package.json
Leigh Johnson a49095bdbc Boolean / Smart Search (#3631)
* Part 1: building new search components

Directives: smart-search, column-sort, paginate
Service: QuerySet
Model: DjangoSearchModel

* Part 2: Implementing new search components, de-implementing old search
components

Remove old code:
	* tagSearch directive
	* old pagination strategy
	* old column sorting strategy
	* lookup

Add new directives to list/form generator:
	* smart-search,
	* paginate
	* column-sort

Connect $state + dataset resolution
	* upgrade ui-router lib to v1.0.0-beta3
	* Custom $urlMatcherFactory.type - queryset
	* Render lists, forms, related, lookups in named views
	* Provide html templates in list/form/lookup/related state definitions
	* Provide dataset through resolve block in state definitions

Update utilities
	* isEmpty filter
	* use async validation strategy in awlookup directive

* Part 3: State implementations (might split into per-module commits)

* Support optional state definition flag: squashSearchUrl. *_search params are only URI-encoded if squashSearchUrl is falsey.

* * Fix list badge counts
* Clear search input after search term(s) applied
* Chain of multiple search terms in one submission

* Hook up activity stream

* Hook up portal mode

* Fix pagination range calculations

* Hook up organization sub-list views

* Hook up listDefinition.search defaults

* Fix ng-disabled conditions reflecting RBAC access on form fields

* Fix actively-editing indicator in generated lists

* form generator - fix undefined span, remove dead event listeners

* wrap hosts/groups lists in a panel, fix groups list error

* Smart search directive: clear all search tags

* Search tags - ‘Clear All’ text - 12px
Search key - remove top padding/margin
Search key - reverse bolding of relationship fields / label, add commas
Search tags - remove padding-bottom
Lookup modal - “X” close button styled incorrectly
Lookup modal - List title not rendered
Lookup modal - 20px margin between buttons

* Portal Mode
Fix default column-sort on jobs list
Hide column-oort on job status column
Apply custom search bar sizes

* stateDefinition.factory

Return ES6 Promise instead of $q promise.
$q cannot be safely provided during module.config() phase
Some generated state trees (inventory / inventoryManage) need to be
reduced to one promise. Side-step issues caused by ui-router de-registering ALL registered states that match placeholder state name/url pattern.

e.g. inventories.lazyLoad() would de-register inventoryManage states if
a page refresh occured @ /#/inventories/**

* Combine generated state trees: inventories + inventoryManage
Hook up inventory sync schedule list/form add /form edit views

* Hook up system job schedule list/add/edit states

* Fix breadcrumb of generated states in /setup view
Fix typo in scheduler search prefix

* Remove old search system deritus from list definitions

* Fix breadcrumb definitions in states registered in app.js config block

* Transclude list action buttons in generated form lists

* Lookup Modal passes acceptance criterea:
Modal cancel/exit - don’t update form field’s ng-model
Modal save - do update form field's ng-model
Transclude generated list contents into <lookup-modal> directive
Lookup modal test spec

* Fix typo in merge conflict resolution

* Disable failing unit tests pending revision

* Integrate smart-search architechture into add-permissions modal

* use a semicolon delimiter instead of comma to avoid collision with django __in comparator

* Hook up Dashboard > Hosts states, update Dashboard Inventory/Project counts with new search filters

* Misc bug splat

Add 20px spacing around root ui-view
Fix missing closing div in related views
Remove dupe line in smart-search controller

* Remove defunct LookupHelper code

* Rebuild inventories list status tooltips on updates to dataset

Code cleanup - remove defunct modules
Remove LookupHelper / LookupInit code
Remove pre-RBAC permissions module

* Add mising stateTree / basePath properties to form definitions

* Resolve i18n conflicts in list and form generator
Freeze dependencies

* Integrate sockets

* Final bug splat:
fix jobs > job details and jobs > scheduled routing
fix mis-resolved merge conflicts
swap console.info for $log.debug
2016-10-28 14:28:06 -04:00

110 lines
3.8 KiB
JSON

{
"name": "ansible-tower",
"version": "3.1.0",
"repository": {
"type": "git",
"url": ""
},
"config": {
"django_port": "8013",
"django_host": "0.0.0.0",
"sauce_username": "leigh-johnson",
"sauce_access_key": "f740c3ad-c706-4e10-bb95-46e2cc50c2ac"
},
"engines": {
"node": "^6.3.1",
"npm": "^3.10.3"
},
"scripts": {
"build-docker-machine": "grunt dev; ip=$(docker-machine ip $DOCKER_MACHINE_NAME); npm set ansible-tower:django_host ${ip}; grunt sync",
"build-docker-cid": "grunt dev; ip=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $DOCkER_CID` | npm set config ansible-tower:django_host ${ip}; grunt sync",
"build-devel": "grunt devNoSync",
"pot": "grunt nggettext_extract",
"languages": "grunt nggettext_compile",
"build-release": "grunt release",
"pretest": "grunt clean:coverage",
"test": "karma start karma.conf.js",
"test:ci": "npm run test -- --single-run --reporter junit,dots --browsers=PhantomJS",
"test:saucelabs": "SAUCE_USERNAME=${npm_package_config_sauce_username} SAUCE_ACCESS_KEY=${npm_package_config_sauce_access_key} karma start karma.conf-saucelabs.js"
},
"devDependencies": {
"angular-mocks": "^1.5.8",
"babel-core": "^6.11.4",
"babel-istanbul": "^0.11.0",
"babel-loader": "^6.2.4",
"babel-plugin-istanbul": "^2.0.0",
"babel-preset-es2015": "^6.9.0",
"browser-sync": "^2.14.0",
"expose-loader": "^0.7.1",
"grunt": "^1.0.1",
"grunt-angular-gettext": "^2.2.3",
"grunt-browser-sync": "^2.2.0",
"grunt-cli": "^1.2.0",
"grunt-concurrent": "^2.3.0",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-less": "^1.3.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-extract-sourcemap": "^0.1.18",
"grunt-newer": "^1.2.0",
"grunt-webpack": "^1.0.11",
"imports-loader": "^0.6.5",
"jasmine-core": "^2.4.1",
"jshint": "^2.9.2",
"jshint-loader": "^0.8.3",
"jshint-stylish": "^2.2.0",
"karma": "^1.1.2",
"karma-chrome-launcher": "^1.0.1",
"karma-coverage": "^1.1.1",
"karma-firefox-launcher": "^1.0.0",
"karma-html2js-preprocessor": "^1.0.0",
"karma-jasmine": "^1.0.2",
"karma-junit-reporter": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.2",
"karma-sauce-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^1.8.0",
"less-plugin-autoprefix": "^1.4.2",
"load-grunt-configs": "^1.0.0",
"load-grunt-tasks": "^3.5.0",
"phantomjs-prebuilt": "^2.1.12",
"time-grunt": "^1.4.0",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
},
"dependencies": {
"angular": "~1.4.7",
"angular-breadcrumb": "leigh-johnson/angular-breadcrumb#0.4.1",
"angular-codemirror": "chouseknecht/angular-codemirror#1.0.4",
"angular-cookies": "^1.4.3",
"angular-drag-and-drop-lists": "leigh-johnson/angular-drag-and-drop-lists#1.4.0",
"angular-gettext": "^2.3.5",
"angular-md5": "^0.1.8",
"angular-moment": "^0.10.1",
"angular-resource": "^1.4.3",
"angular-sanitize": "^1.4.3",
"angular-scheduler": "chouseknecht/angular-scheduler#0.1.0",
"angular-tz-extensions": "chouseknecht/angular-tz-extensions#0.3.11",
"angular-ui-router": "^1.0.0-beta.3",
"bootstrap": "^3.1.1",
"bootstrap-datepicker": "^1.4.0",
"codemirror": "^5.17.0",
"components-font-awesome": "^4.6.1",
"d3": "^3.3.13",
"fs": "0.0.2",
"javascript-detect-element-resize": "^0.5.3",
"jquery": "2.2.4",
"jquery-ui": "1.10.5",
"js-yaml": "^3.2.7",
"legacy-loader": "0.0.2",
"lodash": "^3.8.0",
"lr-infinite-scroll": "lorenzofox3/lrInfiniteScroll",
"moment": "^2.10.2",
"ng-toast": "leigh-johnson/ngToast#2.0.1",
"nvd3": "leigh-johnson/nvd3#1.7.1",
"reconnectingwebsocket": "^1.0.0",
"select2": "^4.0.2"
}
}