You need to have a @require
in the user script header to load jQuery. Something like:
// @require http://code.jquery.com/jquery-3.3.1.min.js
References
https://stackoverflow.com/questions/24753908/trying-to-load-jquery-into-tampermonkey-script
You need to have a @require
in the user script header to load jQuery. Something like:
// @require http://code.jquery.com/jquery-3.3.1.min.js
References
https://stackoverflow.com/questions/24753908/trying-to-load-jquery-into-tampermonkey-script
let target = document.getElementById(Post.ViewModel.postURLId); let observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { console.log(mutation); }); }); let config = { attributes: true, childList: true, characterData: true, subtree: true, attributeOldValue: true, characterDataOldValue: true }; observer.observe(target, config); // later, you can stop observing observer.disconnect();
if (target.addEventListener) { target.addEventListener('input', function(e) { console.log(e); }, false); }
So with the help of above two tricks and browser breakpoints and stacktrace we can detect exact source of error.
References
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
// The original array var array = ["one", "two", "four"]; // splice(position, numberOfItemsToRemove, item) array.splice(2, 0, "three"); array; // ["one", "two", "three", "four"]
Array.prototype.insert = function (index, item) { this.splice(index, 0, item); };
References
https://davidwalsh.name/array-insert-index
let oldItem: any = ViewModels.adminUsers.users()[index]; let newItem: any = {...oldItem}; // shallowcopy
npm install --save react react-dom @types/react @types/react-dom
npm install --save react-bootstrap @types/react-bootstrap
References
https://react-bootstrap.github.io/getting-started.html
/components/Header.js
import React, {Component} from 'react'; import "./Header.css" export class Header extends Component { render() { var classNames = ""; if (this.props.isBold) { classNames += " bold"; } return ( <div className={classNames}> App </div> ); } } Header.propTypes = { isBold: React.PropTypes.bool };
/components/Content.js
import React, {Component} from 'react'; import "./Content.css" export class Content extends Component { render() { var classNames = ""; if (this.props.size === "small") { classNames += " small"; } else if (this.props.size === "medium") { classNames += " medium"; } else if (this.props.size === "large") { classNames += " large"; } return ( <div className={classNames}> {this.props.children} </div> ); } } Content.propTypes = { size: React.PropTypes.string, children: React.PropTypes.array };
App.js
import React, { Component } from 'react'; import {Header} from "./components/Header" import {Content} from "./components/Content" export default class App extends Component { render() { return ( <div> <Header isBold={true} /> <Content size={"large"}> Hello <i>World</i> </Content> </div> ); } }
References
https://github.com/mhdr/ReactJSSamples/tree/master/005
/components/Header.js
import React, { Component } from 'react'; class Header extends Component { render() { return ( <div> <h1>Header</h1> </div> ); } } export default Header;
/components/Content.js
import React, { Component } from 'react'; class Content extends Component { render() { return ( <div> <p>Content</p> </div> ); } } export default Content;
App.js
import React, { Component } from 'react'; import Header from "./components/Header" import Content from "./components/Content" class App extends Component { render() { return ( <div> <Header/> <Content/> </div> ); } } export default App;
References
https://github.com/mhdr/ReactJSSamples/tree/master/002
npm install -g create-react-app create-react-app hello-world cd hello-world npm start
References
https://facebook.github.io/react/docs/installation.html
xwalkView.load("javascript:" + jsCode, null)
References
http://stackoverflow.com/questions/24601087/crosswalk-call-js-function-from-java-on-android
--declaration --removeComments
https://www.typescriptlang.org/docs/handbook/compiler-options.html