mirror of
https://github.com/element-hq/element-web
synced 2024-11-24 10:15:43 +03:00
16c13fb079
This new library handles the simple case of an ordered vertical (or horizontal) list of items that can be reordered. It provides animations, handles positioning of items mid-drag and exposes a much simpler API to react-dnd (with a slight loss of potential function, but we don't need this flexibility here anyway). Apart from this, TagOrderStore had to be changed in a highly coupled way, but arguably for the better. Instead of being updated incrementally every time an item is dragged over another and having a separate "commit" action, the asyncronous action `moveTag` is used to reposition the tag in the list and both dispatch an optimistic update and carry out the request as before. (The MatrixActions.accountData is still used to indicate a successful reordering of tags). The view is updated instantly, in an animated way, and this is handled at the layer "above" React by the DND library.
137 lines
4.3 KiB
JSON
137 lines
4.3 KiB
JSON
{
|
|
"name": "matrix-react-sdk",
|
|
"version": "0.11.3",
|
|
"description": "SDK for matrix.org using React",
|
|
"author": "matrix.org",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/matrix-org/matrix-react-sdk"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"main": "lib/index.js",
|
|
"files": [
|
|
".eslintrc.js",
|
|
"CHANGELOG.md",
|
|
"CONTRIBUTING.rst",
|
|
"LICENSE",
|
|
"README.md",
|
|
"code_style.md",
|
|
"git-revision.txt",
|
|
"header",
|
|
"jenkins.sh",
|
|
"karma.conf.js",
|
|
"lib",
|
|
"package.json",
|
|
"release.sh",
|
|
"scripts",
|
|
"src",
|
|
"test"
|
|
],
|
|
"bin": {
|
|
"reskindex": "scripts/reskindex.js",
|
|
"matrix-gen-i18n": "scripts/gen-i18n.js",
|
|
"matrix-prune-i18n": "scripts/prune-i18n.js"
|
|
},
|
|
"scripts": {
|
|
"reskindex": "node scripts/reskindex.js -h header",
|
|
"reskindex:watch": "node scripts/reskindex.js -h header -w",
|
|
"i18n": "matrix-gen-i18n",
|
|
"prunei18n": "matrix-prune-i18n",
|
|
"build": "npm run reskindex && babel src -d lib --source-maps --copy-files",
|
|
"build:watch": "babel src -w -d lib --source-maps --copy-files",
|
|
"emoji-data-strip": "node scripts/emoji-data-strip.js",
|
|
"start": "parallelshell \"npm run build:watch\" \"npm run reskindex:watch\"",
|
|
"lint": "eslint src/",
|
|
"lintall": "eslint src/ test/",
|
|
"lintwithexclusions": "eslint --max-warnings 0 --ignore-path .eslintignore.errorfiles src test",
|
|
"clean": "rimraf lib",
|
|
"prepublish": "npm run clean && npm run build && git rev-parse HEAD > git-revision.txt",
|
|
"test": "karma start --single-run=true --browsers ChromeHeadless",
|
|
"test-multi": "karma start"
|
|
},
|
|
"dependencies": {
|
|
"babel-runtime": "^6.11.6",
|
|
"bluebird": "^3.5.0",
|
|
"blueimp-canvas-to-blob": "^3.5.0",
|
|
"browser-encrypt-attachment": "^0.3.0",
|
|
"browser-request": "^0.3.3",
|
|
"classnames": "^2.1.2",
|
|
"commonmark": "^0.28.1",
|
|
"counterpart": "^0.18.0",
|
|
"draft-js": "^0.11.0-alpha",
|
|
"draft-js-export-html": "^0.6.0",
|
|
"draft-js-export-markdown": "^0.3.0",
|
|
"emojione": "2.2.7",
|
|
"file-saver": "^1.3.3",
|
|
"filesize": "3.5.6",
|
|
"flux": "2.1.1",
|
|
"fuse.js": "^2.2.0",
|
|
"glob": "^5.0.14",
|
|
"highlight.js": "^8.9.1",
|
|
"isomorphic-fetch": "^2.2.1",
|
|
"linkifyjs": "^2.1.3",
|
|
"lodash": "^4.13.1",
|
|
"matrix-js-sdk": "0.9.2",
|
|
"optimist": "^0.6.1",
|
|
"prop-types": "^15.5.8",
|
|
"querystring": "^0.2.0",
|
|
"react": "^15.4.0",
|
|
"react-addons-css-transition-group": "15.3.2",
|
|
"react-beautiful-dnd": "^4.0.0",
|
|
"react-dnd": "^2.1.4",
|
|
"react-dnd-html5-backend": "^2.1.2",
|
|
"react-dom": "^15.4.0",
|
|
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
|
|
"sanitize-html": "^1.14.1",
|
|
"text-encoding-utf-8": "^1.0.1",
|
|
"url": "^0.11.0",
|
|
"velocity-vector": "vector-im/velocity#059e3b2",
|
|
"whatwg-fetch": "^1.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"babel-cli": "^6.5.2",
|
|
"babel-core": "^6.14.0",
|
|
"babel-eslint": "^6.1.2",
|
|
"babel-loader": "^6.2.5",
|
|
"babel-plugin-add-module-exports": "^0.2.1",
|
|
"babel-plugin-transform-async-to-bluebird": "^1.1.1",
|
|
"babel-plugin-transform-class-properties": "^6.16.0",
|
|
"babel-plugin-transform-object-rest-spread": "^6.16.0",
|
|
"babel-plugin-transform-runtime": "^6.15.0",
|
|
"babel-polyfill": "^6.5.0",
|
|
"babel-preset-es2015": "^6.14.0",
|
|
"babel-preset-es2016": "^6.11.3",
|
|
"babel-preset-es2017": "^6.14.0",
|
|
"babel-preset-react": "^6.11.1",
|
|
"chokidar": "^1.6.1",
|
|
"eslint": "^3.13.1",
|
|
"eslint-config-google": "^0.7.1",
|
|
"eslint-plugin-babel": "^4.0.1",
|
|
"eslint-plugin-flowtype": "^2.30.0",
|
|
"eslint-plugin-react": "^7.4.0",
|
|
"estree-walker": "^0.5.0",
|
|
"expect": "^1.16.0",
|
|
"flow-parser": "^0.57.3",
|
|
"json-loader": "^0.5.3",
|
|
"karma": "^1.7.0",
|
|
"karma-chrome-launcher": "^0.2.3",
|
|
"karma-cli": "^0.1.2",
|
|
"karma-junit-reporter": "^0.4.1",
|
|
"karma-logcapture-reporter": "0.0.1",
|
|
"karma-mocha": "^0.2.2",
|
|
"karma-sourcemap-loader": "^0.3.7",
|
|
"karma-spec-reporter": "^0.0.31",
|
|
"karma-summary-reporter": "^1.3.3",
|
|
"karma-webpack": "^1.7.0",
|
|
"matrix-react-test-utils": "^0.1.1",
|
|
"mocha": "^2.4.5",
|
|
"parallelshell": "^3.0.2",
|
|
"react-addons-test-utils": "^15.4.0",
|
|
"require-json": "0.0.1",
|
|
"rimraf": "^2.4.3",
|
|
"sinon": "^1.17.3",
|
|
"source-map-loader": "^0.1.5",
|
|
"walk": "^2.3.9",
|
|
"webpack": "^1.12.14"
|
|
}
|
|
}
|