2021-08-27 18:12:26 +02:00
2021-08-27 18:12:26 +02:00
2020-11-04 22:59:32 +01:00
2020-11-04 22:59:32 +01:00
2022-10-03 09:52:08 +02:00
2022-10-03 09:34:36 +02:00
2022-10-03 09:52:08 +02:00
2021-08-27 18:29:36 +02:00
2020-11-04 22:59:32 +01:00

3CX TAPI

Inject CPA TAPI functions into the 3CX Webclient

dev

  1. Allow Tampermonkey's access to local file URIs tampermonkey/faq
  2. install deps with npm i or npm ci.
  3. npm run dev to start your development.
  4. open webpack-userscript-template/dist/index.dev.user.js in your Chrome and install it with your userscript manager.

this userscript's meta contains // @require file://path/to/dist/index.prod.user.js, it will run the code in index.prod.user.js, which take src/js/index.js as entry point.

every times you edit your metadata, you'll have to install it again, because Tampermonkey don't read it from dist every times.

  1. edit src/js/index.js with es6, you can even import css or less files. You can use scss if you like.

livereload is default enabled, use this chrome extension

dependencies

There are two ways to using a package on npm.

UserScript way

Like original UserScript way, you will need to add them to your user script metadata's require section , and exclude them in config/webpack.config.base.js

Webpack way

just install a package and import it in your js file. webpack will pack them with in your final production js file.

build

npm run build

dist/index.prod.user.js is the final script.

distribution

cp "dist/3CX TAPI.prod.user.js" 3CX_TAPI.user.js

And commit 3CX_TAPI.user.js

see also

Based on webpack-userscript-template

Description
3cx Tapi Userscript
Readme 1.8 MiB
Languages
JavaScript 90%
TypeScript 9.3%
CSS 0.7%