0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-24 00:47:50 +01:00
posthog/package.json
Marius Andra 127e827894
Refactor taxonomic property filter logic (#5098)
* init TaxonomicPropertyFilter based on Tabbed variant

* InfiniteSelectResults

* infinite loader state mgmt

* set local state on select

* set by name, not id

* list and filter static values

* value search & loading anim

* allow selecting operator and value

* add cohorts support - WIP

* Fix cohort select

* default by opening to the correct tab

* extract feature flag

* add pagekey to taxonomic filter logic

* remove use of local state in taxon filter

* create keyed infiniteSelectResultsLogic

* not working: loading logic; need breakpoints and return Promise

* address minor changes

* move files to own folder

* TaxonomicPropertyFilter now controls activeTabKey

* wip: Load next chunk of results when list renders

* change pageKeys

* load initial results on mount

* set breakpoint and overscan count

* add a nextOffset state value rather than breakpt

* preserve scroll pos

* allow loading at arbitrary scroll positions

* styling

* minor cleanup

* wip: limit and offset via list accessors

* do a silly little array slice

* separate endpoint for paginated results

* use Fuse for static lists

* wip: tab titles

* counts update on search for both local and async properties

* revert changes to person.py

* minor improvements

* refactor taxonomic property filter logic WIP

* fix bugs, add search queries

* fix key error

* also show local items

* show counts

* add operator value select

* local search with fuse

* get rid of tabKey, select active tab based on filter

* various cleanup

* add simple api cache

* hide property popover -> make the popup usable

* create filter dropdown

* "add filter"

* show the right cohort

* better handling for when the filter is already in a popup

* move up/down

* keyboard up/down navigation

* select on enter

* preselect selected item, fix focus jank

* autofocus on other dropdowns as well

* improve style and refactor util

* fix dumb bug

* show cohorts full screen

* fix filter alignment, type and placeholder

* filter position and responsiveness

* reduce dependence on antd, fix various layout bugs

* fix responsiveness

* tooltip position

* pass on onComplete

* hide tooltip if switching tab

* search property filters also in EE

* add type, fix typegen write loop

* Minor copy adjustment

You're actually searching all at once

* fix outside click handler

* popups with popper

* add ant-select as exception for popup outside clicks

* simplify deps

* always highlight the first item

* use new popup with taxonomic filter

* fix PropertyFilterButton ref

* clear search on select

* placeholder for value input box

* add empty state

* only open filter downwards

* move listTooltip postition into useState

* list tooltip position after opening and resize events

Co-authored-by: Sam Winslow <sammywinslow@gmail.com>
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2021-07-19 16:40:31 +00:00

180 lines
6.8 KiB
JSON

{
"name": "posthog",
"description": "",
"version": "0.0.0",
"repository": {
"type": "git",
"url": "https://github.com/posthog/posthog.git"
},
"author": "PostHog Inc.",
"bugs": {
"url": "https://github.com/posthog/posthog/issues"
},
"homepage": "https://github.com/posthog/posthog#readme",
"license": "MIT",
"engines": {
"node": ">=14"
},
"scripts": {
"copy-scripts": "cp node_modules/posthog-js/dist/array.js* frontend/dist/; cp node_modules/@posthog/rrweb/dist/rrweb.min.js frontend/dist/recorder.js",
"test": "jest",
"start": "concurrently -n WEBPACK,TYPEGEN -c blue,green \"yarn run start-http\" \"yarn run typegen:watch\"",
"start-http": "mkdir -p frontend/dist/ && cp -a frontend/public/* frontend/dist/ && npm run copy-scripts && webpack serve",
"start-https": "mkdir -p frontend/dist/ && cp -a frontend/public/* frontend/dist/ && npm run copy-scripts && webpack serve --https",
"start-docker": "mkdir -p frontend/dist/ && cp -a frontend/public/* frontend/dist/ && npm run copy-scripts && webpack serve --host 0.0.0.0",
"start-ch-dev": "concurrently -n DOCKER,WEBPACK,TYPEGEN -c red,blue,green \"CH_WEB_SCRIPT=./ee/bin/docker-ch-dev-backend docker-compose -f ee/docker-compose.ch.yml up\" \"yarn run start-http --host 0.0.0.0\" \"yarn run typegen:watch\"",
"build": "echo \"Building Webpack\" && NODE_ENV=production webpack --config webpack.config.js && cp -a frontend/public/* frontend/dist/ && npm run copy-scripts",
"prettier": "prettier --write \"./frontend/src/**/*.{js,ts,tsx,json,yaml,yml,css,scss}\"",
"prettier:check": "prettier --check \"./**/*.{js,ts,tsx,json,yaml,yml,css,scss}\"",
"typescript:check": "tsc",
"typescript:clean": "tsc --build --clean",
"eslint": "eslint frontend/src",
"typegen:write": "kea-typegen write",
"typegen:check": "kea-typegen check",
"typegen:watch": "kea-typegen watch",
"typegen:clean": "find frontend/src -type f -name '*Type.ts' -delete",
"format:python": "black . && isort .",
"format:js": "yarn prettier && yarn eslint --fix",
"format": "yarn format:python && yarn format:js"
},
"dependencies": {
"@babel/core": "^7.10.4",
"@babel/runtime": "^7.10.4",
"@monaco-editor/react": "^4.1.3",
"@papercups-io/chat-widget": "^1.1.10",
"@popperjs/core": "^2.9.2",
"@posthog/chart.js": "^2.9.6",
"@posthog/plugin-scaffold": "0.12.5",
"@posthog/react-rrweb-player": "1.1.3-beta",
"@posthog/rrweb": "^0.9.15-beta",
"@posthog/simmerjs": "0.7.4",
"@sentry/browser": "^6.0.4",
"@types/md5": "^2.3.0",
"@types/react-virtualized": "^9.21.11",
"antd": "^4.11.2",
"antd-dayjs-webpack-plugin": "^1.0.6",
"babel-preset-nano-react-app": "^0.1.0",
"chartjs-adapter-dayjs": "^1.0.0",
"chartjs-plugin-crosshair": "^1.1.6",
"clsx": "^1.1.1",
"core-js": "3.6.5",
"d3": "^5.15.0",
"d3-sankey": "^0.12.3",
"dayjs": "^1.10.4",
"expr-eval": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"funnel-graph-js": "^1.4.1",
"fuse.js": "^6.4.1",
"kea": "^2.4.5",
"kea-loaders": "^0.4.0",
"kea-localstorage": "^1.1.1",
"kea-router": "^1.0.2",
"kea-window-values": "^0.0.1",
"md5": "^2.3.0",
"posthog-js": "1.12.1",
"posthog-js-lite": "^0.0.3",
"prop-types": "^15.7.2",
"query-selector-shadow-dom": "0.8.0",
"rc-trigger": "^5.2.5",
"react": "^16.13.1",
"react-dom": "^16.12.0",
"react-draggable": "^4.2.0",
"react-grid-layout": "^1.1.1",
"react-markdown": "^5.0.3",
"react-popper": "^2.2.5",
"react-redux": "^7.2.0",
"react-resizable": "^1.11.1",
"react-shadow": "^18.4.2",
"react-sortable-hoc": "^1.11.0",
"react-syntax-highlighter": "^13.5.1",
"react-toastify": "^5.5.0",
"react-virtualized": "^9.22.3",
"redux": "^4.0.5",
"reselect": "^4.0.0",
"resize-observer-polyfill": "^1.5.1",
"sass": "^1.26.2",
"use-debounce": "^6.0.1",
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.10.4",
"@babel/plugin-transform-react-jsx": "^7.10.4",
"@babel/plugin-transform-runtime": "^7.10.4",
"@babel/preset-env": "7.10.4",
"@babel/preset-typescript": "^7.10.4",
"@hot-loader/react-dom": "^16.13.0",
"@types/chart.js": "^2.9.32",
"@types/d3": "^7.0.0",
"@types/jest": "^26.0.15",
"@types/react": "^16.14.2",
"@types/react-dom": "^16.9.8",
"@types/react-grid-layout": "^1.1.1",
"@types/react-redux": "^7.1.9",
"@types/react-resizable": "^1.7.2",
"@types/react-syntax-highlighter": "^11.0.4",
"@types/zxcvbn": "^4.4.0",
"@typescript-eslint/eslint-plugin": "^3.6.0",
"@typescript-eslint/parser": "^3.6.0",
"autoprefixer": "^9.7.4",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.0.6",
"babel-plugin-import": "^1.13.0",
"babel-plugin-kea": "^0.1.0",
"concurrently": "^5.3.0",
"css-loader": "^3.4.2",
"cssnano": "^4.1.10",
"eslint": "^7.8.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-cypress": "^2.11.2",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.20.3",
"file-loader": "^6.1.0",
"givens": "^1.3.6",
"html-webpack-harddisk-plugin": "^1.0.2",
"html-webpack-plugin": "^4.5.2",
"husky": "^4.3.0",
"jest": "^26.6.3",
"kea-typegen": "^1.1.5",
"less": "^3.12.2",
"less-loader": "^7.0.2",
"lint-staged": "~10.2.13",
"postcss-loader": "^3.0.0",
"prettier": "^2.1.1",
"raw-loader": "^4.0.2",
"sass-loader": "^10.0.1",
"style-loader": "^2.0.0",
"ts-node": "^9.1.1",
"typescript": "^4.3.2",
"webpack": "^4.46.0",
"webpack-cli": "^4.5.0",
"webpack-dev-server": "^3.11.2"
},
"optionalDependencies": {
"fsevents": "^2.1.2"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js,ts,tsx,json,yaml,yml,css,scss}": "prettier --write",
"*.{js,ts,tsx}": "eslint --fix",
"*.{py,pyi}": [
"flake8 --select=E9,F63,F7,F82,W605",
"black",
"isort"
]
},
"browserslist": {
"development": [
"last 2 chrome versions",
"last 2 firefox versions",
"last 2 edge versions"
],
"production": [
"defaults"
]
}
}