Compare commits

..

427 Commits

Author SHA1 Message Date
Pierre Goiffon
b8892e9651 🔖 Prepare 3.0.4 version 2024-01-05 17:34:39 +01:00
Pierre Goiffon
8cde0ce5c5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	approot.inc.php
#	css/css-variables.scss
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-01-05 17:26:28 +01:00
Pierre Goiffon
2fd9523c16 🔖 Prepare 2.7.10 version 2024-01-05 15:50:41 +01:00
Pierre Goiffon
48c4e2d13d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	core/config.class.inc.php
2024-01-05 10:58:51 +01:00
Pierre Goiffon
a4f6f6e877 N°4368 Fix CORB blocking regression (#598)
Don't send X-Content-Type-Options HTTP header for certain WebPage impl to workaround CORB blocking
To disable globally this new behavior introduced in 9865bf07, set the `security.enable_header_xcontent_type_options` config parameter to false

Thanks @Molkobain for the review !
2024-01-05 10:41:18 +01:00
Pierre Goiffon
6042e7f74d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/post-build-integration-tests/SetupCssIntegrityChecklistTest.php
#	tests/php-unit-tests/unitary-tests/core/CMDBSource/CMDBSourceTest.php
2024-01-03 10:43:41 +01:00
Molkobain
94c604a6af N°3062 - Fix setup.css compilation test to ensure that it is versioned correctly. 2023-12-21 12:00:26 +01:00
Pierre Goiffon
f84e2060be N°7077 Hungarian translations based on iTop 3.0.2-1 (#584)
Many thanks to Csaba TARJÁNYI (@tacsaby) !
2023-12-20 15:52:41 +01:00
Pierre Goiffon
6995a3c641 N°6889 backup mysqldump call : restore possibility to connect using socket protocol (#591)
With previous fix (N°6123) we forced to use the tcp protocol each time. This was blocking for users wanting to connect using the socket protocol on localhost.

Now for localhost we will : 
- send both port and protocol arguments if the `db_host` config parameter does contain a port
- don't send any of the port or protocol arguments if `db_host` doesn't contain a port
2023-12-20 15:19:50 +01:00
Pierre Goiffon
4ee70cb95a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/csvpage.class.inc.php
#	application/itopwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	datamodels/2.x/itop-hub-connector/hubconnectorpage.class.inc.php
#	pages/ajax.document.php
#	pages/ajax.render.php
#	sources/application/TwigBase/Controller/Controller.php
#	webservices/export-v2.php
2023-12-19 18:38:45 +01:00
Pierre Goiffon
9865bf0779 N°4368 add sending X-Content-Type-Options HTTP header
Replace in consumers the \WebPage::add_xframe_options call by \WebPage::add_http_headers
2023-12-19 18:25:26 +01:00
Pierre Goiffon
f63f3bb547 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-08 17:20:48 +01:00
Pierre Goiffon
d5449cca42 💡 iTopMutex: add link to mysql doc 2023-12-08 17:20:37 +01:00
Molkobain
181c180824 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-06 16:28:27 +01:00
Molkobain
5d38d22c50 N°7023 - Fix regression from the initial fix that throw exceptions even for ext. keys set programatically (eg. ComputeValues), which we still want to allow 2023-12-06 16:27:37 +01:00
Molkobain
974c155855 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-04 23:16:35 +01:00
Pierre Goiffon
99d69493d1 N°7023 - Update tests so that we are now checking negative ext. keys 2023-12-04 22:36:26 +01:00
Molkobain
c9bb628c30 N°7023 - Improve debug message on portal \DBObject::CheckChangedExtKeysValues() call 2023-12-04 22:36:09 +01:00
Molkobain
08e8d15d78 N°7023 - Fix check to write error when adding a contact on a new user request on the end-users portal 2023-12-04 22:35:07 +01:00
Molkobain
bed1db9c51 N°938 - Update compiled portal stylesheet in minified version 2023-11-24 17:07:02 +01:00
Molkobain
7e3e8e43a8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/public/css/portal.css
#	datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
2023-11-24 16:45:04 +01:00
Molkobain
7b59df216b N°7005 - Fix portal stylesheets not being re-compiled when outdated
Stylesheets should remain as a relative path in the portal configuration, only when consumed by the TWIG should they become URLs

Note that if not absolute, URLs will be append to ITOP/pages/
2023-11-24 16:40:58 +01:00
Molkobain
cb5eab812e N°938 - Update compiled portal stylesheet 2023-11-24 16:22:36 +01:00
Anne-Cath
484a0bb6b6 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-24 15:19:05 +01:00
Anne-Catherine
c9b73a7fe2 N°938 - Improve print of portal object page and portal dashboard page (#537)
N°938 - Improve print of portal object page and portal dashboard page
2023-11-24 15:17:42 +01:00
Pierre Goiffon
6f1de11c59 N°6976 Fix DeprecatedCallsLog error handler never set (#576)
Caused by N°6274 (disabling error handler when running phpunit)
There is now a test testing the handler is really fixed when not in the phpunit context
Also a TRACE log is made on setting the handler
2023-11-23 15:54:10 +01:00
Molkobain
e02b6ee14a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-23 14:25:16 +01:00
Molkobain
3b2da39469 N°6989 - Security hardening 2023-11-22 18:02:50 +01:00
odain
c5b43f3157 Merge branch 'support/2.7' into support/3.0 2023-11-22 11:10:06 +01:00
odain
fc22d91232 N°6949 - Run subset of itop core unit tests after the setup when validating a module github code 2023-11-22 10:14:58 +01:00
Pierre Goiffon
3068a6a360 N°6951 Fix autoloader 2023-11-21 11:01:16 +01:00
Stephen Abello
083a0b79bf N°6951 - Security hardening 2023-11-21 10:08:46 +01:00
Stephen Abello
e22220b4fe Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	core/csvbulkexport.class.inc.php
#	core/excelbulkexport.class.inc.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
2023-11-21 09:47:14 +01:00
Stephen Abello
b10bcb976d N°6951 - Security hardening 2023-11-21 09:42:11 +01:00
Pierre Goiffon
154a20b757 💡 Fix ItopCustomDatamodelTestCase since phpdoc
See https://docs.phpdoc.org/guide/references/phpdoc/tags/since.html#since
2023-11-21 09:21:30 +01:00
Pierre Goiffon
79c24dfc96 N°6975 Fix ItopCustomDatamodelTestCase removing symlinks flag (#574) 2023-11-21 09:20:11 +01:00
Pierre Goiffon
b9d960e89e N°6458 Fix ItopDataTestCase::$bIsUsingSilo visibility 2023-11-16 15:35:04 +01:00
Pierre Goiffon
8540ec644a N°6458 Improve ItopDataTestCase tests speed
What was measured :
- 1'54 with previous code (always doing a reset in tearDown)
- 1'44 without any ResetMetaModelQueyCacheGetObject call (but 3 tests are failing)
- 1'44 with new optin mechanism + don't call Logoff if no current user logged
2023-11-16 15:23:18 +01:00
Pierre Goiffon
5b19593ede 📝 README tests : add prerequisites 2023-11-16 14:38:15 +01:00
Pierre Goiffon
0915081f50 ItopDataTestCase fix cached SQL queries with silo 2023-11-16 11:57:29 +01:00
Pierre Goiffon
a23d629e31 ItopDataTestCase fix using non existing EventService (added in 3.1.0) 2023-11-16 11:23:07 +01:00
Pierre Goiffon
47ccd7589f Fix TriggerTest relying on hardcoded admin user id 2023-11-16 11:16:59 +01:00
Pierre Goiffon
7521fc3006 N°6458 Tests : remove processIsolation
Was caused by cached User instances in UserRights + same login for each created User objects instances
2023-11-16 10:56:47 +01:00
Pierre Goiffon
c955fe00b7 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/utils.inc.php
#	core/coreexception.class.inc.php
#	core/userrights.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
#	tests/php-unit-tests/README.md
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2023-11-15 15:03:04 +01:00
Pierre Goiffon
5a43448644 N°6458 Security hardening 2023-11-15 11:14:07 +01:00
Pierre Goiffon
a2b9583379 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-13 16:25:53 +01:00
Pierre Goiffon
77409eed99 🎨 DBObject small phpdoc fixes 2023-11-13 16:25:37 +01:00
Stephen Abello
09be84f69d N°6908 - Security hardening 2023-11-13 11:19:02 +01:00
Romain Quetiez
d9bdcfeae3 N°6658 - Fix regression: do not reset current user's profile cache 2023-11-10 15:57:08 +01:00
Pierre Goiffon
d725ba3d84 N°6765 Avoid behat scenario loading issues on portal modal (#569)
- New CombodoJsActivity API
- Replace existing calls in NiceWebPage (ready scripts)
- Add calls in ready block in portal object create template (used in both create and edit)
2023-11-10 15:10:37 +01:00
Molkobain
8a3d81c430 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-08 14:59:06 +01:00
Anne-Catherine
83a70daf68 N°6887 - Fix excessive OQL requests to display user's grant matrix (#564)
* N°6887 - Fix excessive OQL requests to display user's grant matrix

* N°6887 - Rename variable and add PHPDoc

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-11-08 14:57:28 +01:00
Molkobain
cbb37f27d7 N°6866 - Fix issue when creating new fields in Request Template in French 2023-10-31 11:10:54 +01:00
Molkobain
e21dc4d21c Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-30 16:55:45 +01:00
Molkobain
a49a4e6c2b N°6886 - Add OAuth tests folder to removable directories list 2023-10-30 16:54:28 +01:00
Romain Quetiez
8fa9336568 Fix regression introduced with the optimization done in 15148f7, and seen only in the context of the CI 2023-10-27 11:21:56 +02:00
Romain Quetiez
15148f7d1d Fix regression introduced with the optimization done in 798cd10, and seen only if APC is enabled 2023-10-27 10:43:13 +02:00
Romain Quetiez
7e8589ba95 Fix regression introduced with the optimization done in d641504. Cope with the fact that sometimes the admin account already exists, sometimes not. 2023-10-27 09:21:36 +02:00
Romain Quetiez
fba668207f Optimize tests execution time (test rework and defensive cleanup) 2023-10-26 21:35:52 +02:00
Romain Quetiez
798cd10d6b Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:23:47 +02:00
Romain Quetiez
442721bcb5 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:22:54 +02:00
Romain Quetiez
1a9049d277 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:16:24 +02:00
Romain Quetiez
c0931af91a Optimize tests execution time (no need for process isolation as long as we leave the premises clean, set file modification date instead of waiting for 1 second) 2023-10-26 21:15:57 +02:00
Romain Quetiez
29e9a06dc1 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:10:47 +02:00
Romain Quetiez
d6415042ae Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:10:07 +02:00
Romain Quetiez
90006667fe Optimize tests execution time (copy fixture files only when necessary) 2023-10-26 20:58:26 +02:00
Romain Quetiez
fd351df08b Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-26 20:53:24 +02:00
Romain Quetiez
7419749ba6 Prerequisites for boosting tests 2023-10-26 20:51:28 +02:00
Romain Quetiez
73bed04555 Twig tests not executed 2023-10-26 10:47:11 +02:00
Romain Quetiez
8893cdac1d Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 10:44:37 +02:00
Romain Quetiez
7f245a15be Optimize tests execution time (suppress meaningless test and merge two test in one, while preserving test coverage) 2023-10-25 23:01:05 +02:00
Romain Quetiez
b5c46ccd4a Optimize tests execution time (x10 / no need for a systematic check of date formats, which was ok as a first approach) 2023-10-25 22:59:03 +02:00
Romain Quetiez
7fbc211c43 Optimize tests execution time (x50 / eval is way faster than exec) 2023-10-25 22:57:03 +02:00
Romain Quetiez
cf774cdb90 Explain why process isolation is a must 2023-10-25 22:18:05 +02:00
Romain Quetiez
722a58491c Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-10-25 22:08:08 +02:00
Romain Quetiez
037dfe1df6 Optimize tests execution time 2023-10-25 17:51:12 +02:00
Romain Quetiez
0b26d45014 Prerequisites for boosting tests 2023-10-25 17:50:41 +02:00
Molkobain
b9c566238a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
Remove PHPUnit annotations as from support/3.0 and newer they are no longer necessary
2023-10-23 15:09:49 +02:00
Molkobain
4fd8177165 N°3715 - Fix unit tests 2023-10-23 14:55:06 +02:00
Anne-Cath
0cc0f39d9e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-20 17:04:26 +02:00
Anne-Catherine
a2cdf214f0 N°3715 - Export above 1000 entries ignore obsolete data from user preference (#468)
* N°3715 - Export above 10000 entries ignore obsolete data from user preference
2023-10-20 17:02:16 +02:00
Anne-Cath
4f75d012e5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-20 16:54:37 +02:00
Anne-Catherine
013173019f N°2909 - Search on Enum, Date, TagSet,... with index fails (#496) 2023-10-20 16:45:35 +02:00
Stephen Abello
fadfd94bac Merge branch 'support/2.7' into support/3.0 2023-10-17 09:19:16 +02:00
Stephen Abello
9469681a0c N°6777 - Security hardening 2023-10-17 09:12:40 +02:00
Pierre Goiffon
da27ddba82 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/utils.inc.php
#	pages/ajax.render.php
2023-10-13 17:27:03 +02:00
Pierre Goiffon
c72cb7e70e N°6606 security hardening 2023-10-13 17:15:37 +02:00
Pierre Goiffon
9df92665e0 N°6606 Backport of utils::ENUM_SANITIZATION_FILTER_* constants
Were introduced in 3.0.0, but not added to the support/2.7 branch
2023-10-13 17:10:35 +02:00
Stephen Abello
3647291475 N°6778 - Security hardening 2023-10-02 15:06:17 +02:00
Molkobain
6dc6392fab Merge remote-tracking branch 'origin/support/3.0.3' into support/3.0 2023-09-26 22:20:02 +02:00
Anne-Catherine
e793b02f8b N°6766 - Fix dependent fields not updated due to WizardHelper.UpdateFields() being triggered too early (#548)
* N°6766 - Javascript : function WizardHelper.UpdateFields triggered to early does not update fields

* N°6766 - Code review

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-09-26 12:25:56 +02:00
Molkobain
fc6e98b534 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-20 16:12:51 +02:00
Molkobain
8ecebee511 PHP unit tests: Fix typo for "final private" methods as they can't be both 2023-09-20 16:11:39 +02:00
Pierre Goiffon
2690fa3315 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 12:27:19 +02:00
Pierre Goiffon
35cd965360 N°6629 Update ci_description php_version 2023-09-19 12:25:40 +02:00
Pierre Goiffon
83a5b98f82 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 09:58:40 +02:00
Pierre Goiffon
e5dd51f637 N°6600 Portal download attachment : don't display anymore SQL query on attachment not found error (#525) 2023-09-19 09:54:43 +02:00
Molkobain
4923418f58 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 08:39:41 +02:00
Molkobain
0a6c82dfe1 N°6752 - PHP unit tests: Fix typo in postbuild_integration.xml.dist 2023-09-19 08:37:46 +02:00
Molkobain
2dd7f5cada Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-18 15:37:32 +02:00
Molkobain
24c0f4950f Add missing .htaccess / web.config files in .gitignore for /extensions folder 2023-09-18 15:26:06 +02:00
Molkobain
d4dbbc59d4 N°6754 - PHP unit tests: Add local PHPUnit XML files to .gitignore 2023-09-18 15:23:52 +02:00
Molkobain
dc0cd44c79 N°6752 - PHP unit tests: Migrate usages of unitestautoload.php to composer autoloader 2023-09-18 15:14:44 +02:00
Pierre Goiffon
f3c4fcb0f5 💡 Pages files : add depreciation version 2023-09-18 15:07:32 +02:00
odain
6046f44f56 Merge branch 'support/2.7' into support/3.0 2023-09-15 10:08:08 +02:00
odain
6c6131ce03 N°5491 - test enhancement to reduce false positive 2023-09-15 10:07:42 +02:00
Stephen Abello
343e87a8d4 N°6581 - Security hardening 2023-09-15 09:55:51 +02:00
odain-cbd
e76728b2bf N°5491 - Inconsistent dictionnary entries regarding arguments to pass to Dict::Format-test first (#545) 2023-09-13 12:02:49 +02:00
odain
f65c690462 N°5491-fix test 2023-09-13 10:03:05 +02:00
odain
ecf8bc42fa Merge branch 'support/2.7' into support/3.0 2023-09-13 10:01:15 +02:00
Pierre Goiffon
ea8509db1f N°6709 Use ItopTestCase::RequireOnceCurrentModuleFile in GetAppRoot 2023-09-07 14:47:36 +02:00
Pierre Goiffon
df25ce76b6 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-07 14:43:29 +02:00
Pierre Goiffon
e946fc65fc N°6709 New ItopTestCase::RequireOnceCurrentModuleFile 2023-09-07 14:38:19 +02:00
Pierre Goiffon
dbe2f66539 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-06 09:07:45 +02:00
Pierre Goiffon
0d8ff7bbac N°6629 Set commit tests back to Mysql
For now we have perf issues on Jenkins with MariaDB (see N°6694)
2023-09-04 10:25:41 +02:00
Eric Espie
61a9a4ac65 Fix unit tests for MariaDB 2023-09-01 09:29:21 +02:00
acognet
1f4dcc4f9e N°5136 - Relations: Fix "Select All objects" adding obsolete objects even if "show obsolete data" param. not activated - Merge from support/2.7 2023-08-31 16:04:03 +02:00
acognet
e86309669e Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/ajax.render.php
2023-08-31 15:56:16 +02:00
Pierre Goiffon
6ebcd44bb1 💡 N°6658 Add more comments and since tags 2023-08-31 15:34:44 +02:00
Anne-Catherine
bf768311c2 N°5136 - "Select All objects" add obsolete objects even if the parameter show obsolete data is not activated (#467) 2023-08-31 15:13:20 +02:00
Molkobain
d130959692 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/metamodel.class.php
2023-08-18 10:14:51 +02:00
Molkobain
a8c689c6c0 N°6436 - Add unit test to ensure that we don't lose an API during merge between branches 2023-08-18 09:55:45 +02:00
Molkobain
1990ccb5d8 N°6436 - Move interfaces enumeration from 1 line to 1 line / interface (and re-ordered them) for easier merges in newer branches 2023-08-18 09:52:55 +02:00
Molkobain
e107be56e4 N°6097 - Tests: Fix missing hook entry in PHPUnit XML file that led to compiled environment being re-build for each test case 2023-08-18 09:51:15 +02:00
Molkobain
f6653e1594 N°6436 - Restore 3.0 APIs lost during 6433678d merge 2023-08-17 17:47:46 +02:00
Romain Quetiez
65bb76b9e3 N°6658 - Boost PHPUnit tests execution 2023-08-17 17:27:55 +02:00
Molkobain
d951d3b872 💚 Fix typo in extended class name 2023-08-11 09:05:30 +02:00
Molkobain
ccceb870e3 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-08-10 15:53:05 +02:00
Molkobain
ed6df77cbb N°6097 - Tests: Optimize performances by creating custom env. only once and re-using it across test classes 2023-08-10 15:45:39 +02:00
Molkobain
1ad28312ec N°6097 - Tests: Introduce autoloader for "utility" classes and move them to a sub-folder for better organization as folder was still messy
Note that unittestautoload.php is now useless. We just keep for now until everything is migrated (projects / branches / modules)
2023-08-10 15:45:39 +02:00
Molkobain
f002aa04cd N°6097 - Tests: Enable PHP unit tests on a custom DataModel 2023-08-10 15:45:39 +02:00
Molkobain
b86d70623e N°6097 - Tests: Temporarily add test case for the new ItopCustomDatamodelTestCase class 2023-08-10 15:45:39 +02:00
Molkobain
fe3467309d N°6097 - Tests: Refactor base test classes for better extensibility 2023-08-10 15:45:39 +02:00
Molkobain
851ab9c356 N°6097 - Add \utils::GetDataPath() method to avoid duplicating manual path build 2023-08-10 15:45:39 +02:00
Molkobain
aef3c2e609 N°6097 - Fix \CMDBSource::DropDB() not resetting cache like \CMDBSource::DropTable() which can lead to errors when trying to re-create it afterwards 2023-08-10 15:45:39 +02:00
Pierre Goiffon
f04fc546b5 N°6643 Fix TypeError in \CMDBSource::LogDeadLock 2023-08-10 14:34:09 +02:00
Pierre Goiffon
13ad98b9b3 Add other integration tests in the beforeSetup group
All of those tests can be ran without a running iTop instance, and are blocking
2023-08-08 15:34:27 +02:00
Pierre Goiffon
4be54fdd65 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-08-08 15:33:36 +02:00
Pierre Goiffon
6d13397ba1 Add other integration tests in the beforeSetup group
All of those tests can be ran without a running iTop instance, and are blocking
2023-08-08 15:33:09 +02:00
Pierre Goiffon
d64a91d4ce Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/metamodel.class.php
2023-08-04 14:58:22 +02:00
Pierre Goiffon
c0c8a13864 💡 \MetaModel::GetObject : remove documented throw Exception 2023-08-04 14:55:38 +02:00
Pierre Goiffon
d2eef06276 AttributeURLTest : remove useless separateProcess annotations 2023-08-03 11:08:47 +02:00
Pierre Goiffon
880a824f2f N°6562 Replace new DOMText() by \DOMDocument::createTextNode
Because init using constructor outputs a read only node, see https://www.php.net/manual/en/domelement.construct.php
Thanks @Hipska
See conversation in 734a788
2023-08-03 09:40:39 +02:00
Pierre Goiffon
7aa478d6ff N°6562 💡 Fix comment
Thanks @Molkobain !
2023-08-02 10:35:30 +02:00
Pierre Goiffon
734a788340 N°6562 Fix DOMNode->textContent write
This attribute is read only
Causes layout issues on PHP 8.1.21 and 8.2.8
2023-08-01 14:22:56 +02:00
Pierre Goiffon
e5b6e2eb8c N°4354 N°6587 Add test to cover $oUser->Get('profile_list') VS security.hide_administrators config param 2023-07-27 16:42:56 +02:00
Pierre Goiffon
1682a85cc0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-26 12:07:35 +02:00
Pierre Goiffon
cd9beec313 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2023-07-26 12:07:09 +02:00
Pierre Goiffon
8295eaed90 Merge remote-tracking branch 'origin/support/2.5' into support/2.6 2023-07-26 12:06:32 +02:00
Eric Espie
829b648dd2 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-25 17:55:45 +02:00
Eric Espie
5475b9fbbe N°3454 - MoveToProd in 2 steps - fix utils::GetCurrentModuleName() 2023-07-25 17:44:43 +02:00
Eric Espie
6f8e7c7002 N°3454 - MoveToProd in 2 steps - fix utils::GetCurrentModuleUrl() 2023-07-25 17:20:37 +02:00
Pierre Goiffon
772368ef8a 💡 PHPDoc for object list panels 2023-07-24 15:38:57 +02:00
Pierre Goiffon
a57b6471c9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-24 11:59:40 +02:00
Pierre Goiffon
bc7c1b4744 N°6590 Fix DictionariesConsistencyTest for PL dict files 2023-07-24 11:14:37 +02:00
Eric Espie
046e857768 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
2023-07-19 15:19:06 +02:00
Eric Espie
4d8246c4d8 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (changed config variable name) 2023-07-19 15:13:43 +02:00
Eric Espie
5c61d725e1 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (changed config variable name) 2023-07-19 15:06:00 +02:00
Eric Espie
00b070b3cf Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/kpi.class.inc.php
2023-07-19 10:44:22 +02:00
Eric Espie
2c4cad4dac N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (avoid unnecessary calls) 2023-07-19 10:37:41 +02:00
Stephen Abello
89145593ef N°6552 - Security hardening 2023-07-19 09:25:48 +02:00
Eric Espie
b2e80d37dd N°6436 - typo 2023-07-18 14:48:32 +02:00
Eric Espie
6432678de9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/utils.inc.php
#	bootstrap.inc.php
#	composer.json
#	core/MyHelpers.class.inc.php
#	core/cmdbsource.class.inc.php
#	core/config.class.inc.php
#	core/dbobject.class.php
#	core/kpi.class.inc.php
#	core/metamodel.class.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
2023-07-18 14:36:58 +02:00
Molkobain
71ed784c60 N°6532 - Fix missing "/" in path
(cherry picked from commit 32fd75bc4b)
2023-07-18 09:40:34 +02:00
Eric Espie
da45651121 Merge branch 'feature/6548_Hide_DBHost_and_DBUser_in_log' into support/2.7 2023-07-18 09:34:48 +02:00
Eric Espie
d388ce9a06 Merge branch 'feature/6548_Hide_DBHost_and_DBUser_in_log' into support/2.7 2023-07-18 09:17:40 +02:00
Eric Espie
47e71d8838 Merge branch 'feature/6436-Integrate_Performance_Audit_extensibility' into support/2.7 2023-07-18 09:17:05 +02:00
Stephen Abello
2b5973ec67 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 2023-07-18 09:15:37 +02:00
Eric Espie
78396d8e4a 6548 - [ER] Hide DBHost and DBUser in log 2023-07-10 17:37:27 +02:00
Pierre Goiffon
40d63a2fa4 N°3663 💡 Fix depreciation comment in core/coreexception.class.inc.php 2023-07-07 10:24:15 +02:00
Pierre Goiffon
556b9ad89a N°6532 Fix "failed to open stream" error on require_once approot in coreexception.class.inc.php
Was occurring in TemplateFieldValueTest templates-base phpunit test
2023-07-07 09:31:34 +02:00
Stephen Abello
9afc22bd8f N°6123 - Add tests and comments 2023-07-07 09:29:15 +02:00
Pierre Goiffon
a010239efb Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-06 15:48:42 +02:00
Pierre Goiffon
264a8cd70a N°6494 - Some tests are run twice, some never
(cherry picked from commit a2a0b2cd0b)

(cherry picked from commit 4c9ea0c9d4)

# Conflicts:
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
2023-07-06 15:45:09 +02:00
Stephen Abello
aa1834170b N°6427 - Fix SwiftMailer not retrieving sendmail path 2023-07-06 14:31:54 +02:00
Stephen Abello
f94d67ab35 N°6340 - Fix permission refused when sending an email and renewing OAuth token in synchronous mode 2023-07-06 10:28:10 +02:00
Stephen Abello
3048c8c41f N°5560 - Display an error when trying to regenerate an expired OAuth token 2023-07-06 09:52:00 +02:00
Stephen Abello
246e4a9f50 N°6123 - Fix warnings when launching a backup on MariaDB > v10.6.1 with localhost dbhost 2023-07-06 09:28:01 +02:00
Molkobain
8907525b78 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-05 08:56:17 +02:00
Molkobain
6d58adb6dd N°6359 - Fix JS crash due to new version trying to detect MSIE browser through a dependency that we don't have.
Cherry-picked from f889c53d71
2023-07-05 08:41:00 +02:00
Stephen Abello
764a170cd0 N°6483 - Security hardening 2023-07-03 14:29:45 +02:00
Molkobain
5a33fb7a6a N°6474 - Fix regression introduced by 70e6f707 2023-06-27 18:16:55 +02:00
Benjamin Dalsass
2cca57c7fa N°6431 - CSV bulk export text delimiter option not initialized correctly 2023-06-16 15:50:28 +02:00
Pierre Goiffon
52820925b1 N°4725 DeprecatedCallsLog::NotifyDeprecatedFile remove throw ConfigException
Those exceptions are handled silently since 3.0.1
2023-06-14 19:01:50 +02:00
Pierre Goiffon
1824111de8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-06-14 10:28:30 +02:00
Pierre Goiffon
5a0b5364d6 N°4698 setup/phpinfo.php : if no iTop installation then display a proper message instead of an exception (#265) 2023-06-14 10:18:38 +02:00
Pierre Goiffon
76eed2eba0 N°6098 updateLicenses script : check availability of the required JQ command (#458)
This packaging script requires both bash and the JQ command when running on Windows.
If the later isn't available, it will run without throwing an error...

With this change the script will now check directly at launch for the JQ command availability, and exit in error if it isn't.
2023-06-14 10:17:00 +02:00
Eric Espie
5d5589dd64 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-06-14 09:09:12 +02:00
Eric Espie
1ec671ef61 N°6351 - code hardening 2023-06-14 09:08:42 +02:00
Thomas Casteleyn
b8199a6e2c N°6418 - Fix dutch translations on impact relation view (#499)
* Fix author and copyrights
* Correct NL dict for impact relation view
2023-06-13 17:48:36 +02:00
Molkobain
9f38eec40a N°4106 - Reword PHPDoc to avoid confusion as the @internal was not accurate 2023-06-13 11:42:28 +02:00
Eric Espie
5f5537b8b9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	js/breadcrumb.js
2023-06-12 11:39:13 +02:00
Eric Espie
72716b7ec8 N°6396 - Protect URL display 2023-06-12 11:36:51 +02:00
Eric Espie
e288af4ddb Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/setup_params/default-params.xml
2023-06-08 14:33:54 +02:00
Eric Espie
4f999de844 N°6359 - ⬆️ Update jQuery BBQ (from https://github.com/cee-chen/jquery-bbq) 2023-06-08 14:30:09 +02:00
Anne-Catherine
f47133bc28 N°6125 - Issue with GetAttributeFlags and GetInitialStateAttributeFlags within iTop 3.0.2 (#474) 2023-06-08 11:12:22 +02:00
odain
ea49c0a87c enable authent-cas in ci 2023-06-07 21:44:17 +02:00
odain
6cc971849b ci: enhance AddProfile 2023-06-07 21:44:00 +02:00
Eric Espie
0fbd41a884 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 -> fix syntax error 2023-06-07 17:30:39 +02:00
Eric Espie
70e6f707c4 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 -> composer autoloader 2023-06-07 17:23:47 +02:00
Eric Espie
e76ada641f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/loginbasic.class.inc.php
#	application/loginexternal.class.inc.php
#	application/loginform.class.inc.php
#	application/loginurl.class.inc.php
#	application/loginwebpage.class.inc.php
#	composer.lock
#	datamodels/2.x/authent-cas/src/CASLoginExtension.php
#	lib/composer/autoload_real.php
#	lib/composer/installed.php
#	synchro/synchro_exec.php
#	synchro/synchro_import.php
#	tests/php-unit-tests/unitary-tests/application/utilsTest.php
2023-06-07 17:21:09 +02:00
Pierre Goiffon
2405810864 N°6238 Security hardening 2023-06-07 16:45:35 +02:00
Eric Espie
fff46d99fc N°6358 - Login REST API - renamed test 2023-06-07 15:31:51 +02:00
odain
3a891f707c ci: enhance AddProfile test method to work with any User (not only UserLocal) 2023-06-07 15:06:28 +02:00
odain
8b6ea43ebe N°6358 - Login REST API - fix cas + add tests 2023-06-07 15:05:32 +02:00
Eric Espie
90cf7502e8 N°6358 - Login REST API 2023-06-07 10:09:30 +02:00
Eric Espie
c596fa2967 N°6358 - Login API REST 2023-06-07 09:17:24 +02:00
Timothee
a45177410e N°6350 - Fixing phpunit test 2023-06-06 16:47:06 +02:00
Eric Espie
b8f61362f5 N°6348 - Hardening code 2023-06-01 16:44:40 +02:00
Eric Espie
e3ba826e5d N°6349 - Hardening code 2023-06-01 16:36:56 +02:00
Eric Espie
17d22219d2 N°6350 - Fix unit tests 2023-06-01 16:30:09 +02:00
Eric Espie
a49025f371 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/utils.inc.php
2023-06-01 16:04:52 +02:00
Eric Espie
9e96ea2873 N°6350 - code hardening 2023-06-01 15:35:56 +02:00
Eric Espie
1172159745 N°6351 - code hardening 2023-06-01 15:12:50 +02:00
Pierre Goiffon
cdcc069099 Fix typo in exception message
Regression introduced in fe179079 in support/3.0 branch and upwards
2023-05-09 14:02:02 +02:00
odain
8c639fc23a N°5753 - add config parameter allow_rest_services_via_tokens to bypass rest secure profile option 2023-05-05 15:53:32 +02:00
odain
da5a825c7e N°6171 - Password Expiration: can expire mode has no effect on user who have never changed their password 2023-05-05 11:37:44 +02:00
Pierre Goiffon
b9230ad402 N°6274 DeprecatedCallsLogTest : replace expectException deprecated calls
Message was : Support for using expectException() with PHPUnit\Framework\Error\Warning is deprecated and will be removed in PHPUnit 10. Use expectWarning() instead.
2023-05-05 10:16:56 +02:00
Pierre Goiffon
959ac7e3be N°6274 DeprecatedCallsLogTest : fix expected exception mismatch in PHP 8.0+
Undefined offset notice was changed to a warning in PHP 8.0... Also message was changed :(
2023-05-05 09:13:03 +02:00
Pierre Goiffon
1884596ecd N°6274 Fix log.class.inc.php crashing cause cannot load ItopTestCase class
Now the constant name is defined in approot
2023-05-04 17:34:14 +02:00
Pierre Goiffon
584cfa8cbf N°6274 Fix PHP Notices not caught in ItopDataTestCase PHPUnit
This was caused by the set_error_handler() done in DeprecatedCallsLog during startup

Now we are :
* not registering the handler if a PHPUnit test is running (based on a constant set in ItopTestCase::setUp)
* on registration only do it for the required notices
2023-05-04 17:08:47 +02:00
Stephen Abello
eebc61385d N°6009 - Fix restore backup button not working when JS dependencies are present 2023-05-02 09:24:54 +02:00
Pierre Goiffon
3c15186685 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-04-26 17:12:08 +02:00
Pierre Goiffon
fa038ded3d N°6254 ItopDataTestCase::CreateUserRequest : fix new argument default value
Was creating error Too few arguments passed
2023-04-26 16:42:27 +02:00
Pierre Goiffon
e7ea1b831c N°6254 ItopDataTestCase::CreateUserRequest : now pass fields values as array
More versatile way of doing things !
2023-04-26 16:22:26 +02:00
Molkobain
f15ac75f8f Merge remote-tracking branch 'origin/support/3.0.3' into support/3.0 2023-04-26 11:25:04 +02:00
Molkobain
c6edbf982d N°6124 - Performance: Draw datatable only once when elements added in linksets 2023-04-26 11:24:34 +02:00
Molkobain
5aea7ccbc9 N°6124 - Performance: Draw datatable only once when elements remove in linksets 2023-04-26 10:33:18 +02:00
Molkobain
e28dbebbd5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/displayblock.class.inc.php
#	dictionaries/en.dictionary.itop.ui.php
#	dictionaries/fr.dictionary.itop.ui.php
2023-04-25 21:56:42 +02:00
Molkobain
4aff65f98b N°6217 - Add accessiblity meta data for title on "Power menu" 2023-04-25 21:51:32 +02:00
Molkobain
8aba578cfa Merge remote-tracking branch 'origin/support/3.0.3' into support/3.0 2023-04-25 21:05:42 +02:00
Molkobain
9d3e389011 N°6124 - Workaround performance problem on adding items to an object with an n:n relation having a large volume 2023-04-25 17:43:51 +02:00
acognet
7e7f8577e8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/displayblock.class.inc.php
2023-04-25 15:14:22 +02:00
acognet
3c94974d9d N°541 - Dashlets: Improve readability when to much labels (pie chart) or too long labels (bar chart) 2023-04-25 12:09:11 +02:00
acognet
d6e5069dd5 N°541 - Dashlets: Improve readability when to much labels (pie chart) or too long labels (bar chart) 2023-04-24 14:26:33 +02:00
Stephen Abello
f839638e0b N°6188 - Creation cancellation in pop-up while in edition of parent object wrongfully returns to object list 2023-04-21 16:12:37 +02:00
Pierre Goiffon
740ff8c649 💡 DeprecatedCallsLog phpdoc 2023-04-21 14:58:00 +02:00
Molkobain
cfe227e0c7 N°6216 - Fix line-height being too big in the attachments table 2023-04-20 15:28:20 +02:00
Molkobain
ed79c8f099 Merge remote-tracking branch 'origin/support/3.0.3' into support/3.0 2023-04-20 12:53:34 +02:00
Molkobain
4560f751d1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/displayblock.class.inc.php
#	application/itopwebpage.class.inc.php
#	dictionaries/en.dictionary.itop.ui.php
#	dictionaries/fr.dictionary.itop.ui.php
2023-04-20 12:53:12 +02:00
Molkobain
46e869d1f4 N°6124 - Workaround performance problem on the modification of an object with an n:n relation having a large volume 2023-04-20 12:22:12 +02:00
Molkobain
fbd72b2783 N°6217 - Add accessiblity meta data for title on "Power menu" 2023-04-20 11:03:43 +02:00
Molkobain
778118cfb4 N°6204 - REST API: Add unit test for callback parameter 2023-04-18 22:34:11 +02:00
Molkobain
096ed9a63a N°6204 - Improve REST API unit test readability 2023-04-18 22:14:39 +02:00
Molkobain
06eb79d4f4 N°6204 - Fix REST/JSON API crash when using JSON-P and iBackofficeDictXXX interfaces 2023-04-18 14:42:36 +02:00
Anne-Catherine
4e95ca3c7b N°541 - Dashlets: Improve readability when to much labels (pie chart) or too long labels (bar chart) (#452)
* N°541 - Dashlets: Improve readability when to much labels (pie chart) or too long labels (bar chart)
2023-04-13 11:23:20 +02:00
Pierre Goiffon
4c626d0782 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/log.class.inc.php
2023-04-12 10:22:34 +02:00
Pierre Goiffon
1114ed9562 N°6099 DeadLockLog : improve documentation and use existing constants (#441) 2023-04-12 10:21:34 +02:00
Pierre Goiffon
1ddfaf0b61 N°6100 ObjectFormManager::OnSubmit : better log for DBWrite exceptions (#353)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-04-11 18:09:45 +02:00
Pierre Goiffon
c6fb03547f Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-04-11 17:55:26 +02:00
Pierre Goiffon
34368fe795 N°6173 \HTMLSanitizer::Sanitize : Fix handling only svg_sanitizer (#450) 2023-04-11 17:52:41 +02:00
Pierre Goiffon
db46298cb8 Merge branch 'support/3.0.3' into support/3.0 2023-04-11 09:19:56 +02:00
Pierre Goiffon
064e8ee511 Fix AttributeDefinitionTest parse error in PHP 7.2
(cherry picked from commit 307edd3f7a)
2023-04-11 09:19:31 +02:00
Eric Espie
424e7b37d7 Merge branch 'support/3.0.3' into support/3.0 2023-04-07 09:44:38 +02:00
Eric Espie
ca7aa482ab N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter
(cherry picked from commit 8ffddeff01)
2023-04-07 09:43:50 +02:00
Eric Espie
368b3f4ef7 N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter
(cherry picked from commit 21d37fb237)
2023-04-07 09:43:40 +02:00
Molkobain
dc8e6f314a N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter
(cherry picked from commit fca4006811)
2023-04-07 09:43:25 +02:00
Eric Espie
8ffddeff01 N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter 2023-04-05 17:42:26 +02:00
Eric Espie
21d37fb237 N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter 2023-04-05 17:07:23 +02:00
Molkobain
fca4006811 N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter 2023-04-05 15:58:31 +02:00
Molkobain
c3b00939dd N°6140 - Add HTML metadata on custom fields to be aligned with regular fields 2023-03-31 17:58:09 +02:00
Molkobain
75df33f606 N°6139 - Add HTML metadata on activity panel to be aligned with regular fields 2023-03-30 18:39:09 +02:00
Molkobain
78d8829d65 N°6131 - Improve robustness of tooltips helper when no DOM element passed to CombodoTooltip::InitTooltipFromMarkup() 2023-03-27 18:04:01 +02:00
Pierre Goiffon
307edd3f7a Fix AttributeDefinitionTest parse error in PHP 7.2 2023-03-21 09:03:54 +01:00
Molkobain
6bf906a72f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	js/dashboard.js
2023-03-17 15:44:23 +01:00
Molkobain
0f016d7511 N°6112 - Dashboard: Improve robustness by trimming dashlet ID returned by server 2023-03-17 15:37:57 +01:00
Pierre Goiffon
d782987f50 README : fix requirements link 2023-03-14 17:08:55 +01:00
Molkobain
b1fd7716f6 Fix community-licenses.xml 2023-03-14 12:08:54 +01:00
Molkobain
ac7abb3049 Prepare iTop 3.0.3 release
* Increase constants version to 3.0.3
* Increase modules version to 3.0.3
* Update licenses file
2023-03-14 09:55:18 +01:00
Pierre Goiffon
3689f3d026 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/TriggerTest.php
2023-03-10 16:24:17 +01:00
Pierre Goiffon
5ee6223434 N°5893 Add test for \TriggerOnObject::LogException 2023-03-10 16:04:55 +01:00
Molkobain
4bfc1747b7 N°5784 - Fix AttributeOneWayPassword::HasAValue() implementation 2023-03-08 10:54:55 +01:00
Molkobain
15f32bf843 N°5784 - Fix ormPassword::IsEmpty() method 2023-03-08 10:04:59 +01:00
Molkobain
0ba386c0bc N°5784 - Rename unit test file to match convention 2023-03-08 09:47:42 +01:00
Molkobain
0c3cdb202b N°5784 - Fix ormPassword::IsEmpty() using the wrong class property 2023-03-08 09:36:52 +01:00
Molkobain
03ac3d4e7c N°5784 - Fix unit test for PHP 8.2 2023-03-08 09:34:35 +01:00
acognet
6510dc5c51 N°3805 - Collectors not working on iTop 3.0 (cherry picked from 4d7bac89f3 on origin/develop) 2023-03-07 22:58:38 +01:00
Molkobain
01faf39372 Tests: Force Synchro unit tests not to verify SSL certificate as most dev / test envs are self-signed 2023-03-07 22:50:29 +01:00
Molkobain
176e373d6c N°5530 - Fix list of impacted elements (Impact Analysis) not display correctly due to mixup in async JS files loading 2023-03-07 22:03:44 +01:00
Molkobain
a34274b883 N°5784 - PHP 8.0: Fix mandatory attribute not visible in transition form due to bad emptiness test (#379)
* N°5784 - PHP 8.0: Fix mandatory attribute not visible in transition form due to bad emptiness test

* N°5784 - Rework AttributeDefinition::HasAValue() implementation after code review

* N°5784 - Add unit test
2023-03-07 10:16:14 +01:00
Pierre Goiffon
03fb78c38c N°6068 Setup : fix no formatting on error messages 2023-03-06 14:23:21 +01:00
Stephen Abello
c9e656f7a0 N°4460 - Fix configuration editor selected line contrast in Darkmoon 2023-03-06 11:40:32 +01:00
Pierre Goiffon
976566ec71 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/setuppage.class.inc.php
2023-03-06 11:26:33 +01:00
Pierre Goiffon
d908827787 N°6016 Setup Wizard : fix MissingDependencyException message logged as html in setup.log
Was the case since e831d66b (commit for parent bug N°5090)
Now we are getting the text version in the log (and still the html one on screen)

The unattended install isn't concerned : it just prints back CheckResult returned by \SetupUtils::CheckSelectedModules, with the exception text message ($e->getMessage())
2023-03-06 11:24:46 +01:00
Denis
93c0b98eb7 N°5922 - Fix plus button semantic on ext. key widget (#448)
* N°5922 - Enhance plus button on extkeywidget

* Properly reset the target class when closing the dialog

* Make icon buttons as actual clickable links for BeHat

* Apply suggestions from code review

Review by Guillaume. Thanks!

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-03-03 14:20:38 +01:00
Stephen Abello
98ab5aa1a4 N°4460 - Fix menu drawer color in Darkmoon 2023-03-03 10:59:49 +01:00
Stephen Abello
f117a2912b N°4460 - Fix minor contrast issue in Darkmoon 2023-03-03 10:50:02 +01:00
Stephen Abello
6594072617 N°4460 - Fix import contrast in Darkmoon 2023-03-03 10:43:39 +01:00
Stephen Abello
6bed56b34e Fix csv import SCSS file 2023-03-03 10:43:17 +01:00
Stephen Abello
94e8151519 N°4460 - Fix popover menu icons and separators style in Darkmoon 2023-03-03 10:24:52 +01:00
Stephen Abello
75b350f638 N°4460 - Fix ace editor style in Darkmoon 2023-03-03 10:06:47 +01:00
Stephen Abello
14cd60dd17 Fix hardcoded white color in markup 2023-03-02 16:36:07 +01:00
Stephen Abello
08f1e5a041 N°4460 - Fix configure this list contrast in Darkmoon 2023-03-02 16:36:07 +01:00
Stephen Abello
4c117d1a33 Fix hardcoded orange in backoffice style 2023-03-02 16:36:07 +01:00
Stephen Abello
f91dfbcf23 N°4460 - Fix datamodel viewer autocomplete contrast in Darkmoon 2023-03-02 16:36:07 +01:00
Stephen Abello
58497b380b Allow to overload datamodel viewer autocomplete style 2023-03-02 16:36:07 +01:00
Stephen Abello
03bff9f2c2 N°4460 - Fix export header contrast in Darkmoon 2023-03-02 16:36:07 +01:00
Stephen Abello
a34d3f91be Fix tabular fields selector SCSS variables 2023-03-02 16:36:06 +01:00
Stephen Abello
05753f174a N°4460 - Fix "load more entries" activity panel buttons contrast in Darkmoon 2023-03-02 16:36:06 +01:00
Stephen Abello
d0c89343b4 N°4460 - Fix skeletons placeholders contrast issue in Darkmoon 2023-03-02 16:36:06 +01:00
Stephen Abello
3021234895 N°4460 - Allow to customize skeleton placeholders colors using CSS3 variables 2023-03-02 16:36:06 +01:00
Stephen Abello
bccdb1bc3a N°4460 - Fix <code> contrast in Darkmoon 2023-03-02 16:36:06 +01:00
Molkobain
143410f4cd Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/dbobject.class.php
2023-02-28 15:20:07 +01:00
Pierre Goiffon
4cea418517 N°5893 - Log triggers exception in CRUD stack (#390)
* Log TriggerOnObjectCreate crash

* Log TriggerOnObjectUpdate crash

* Log TriggerOnObjectDelete crash

* Factorize TriggerOnObject log

* \TriggerOnObject::LogException : do not replace not persisted yet object keys
2023-02-28 15:13:28 +01:00
Molkobain
759b1825fe N°5918 - Fix activity panel disappearing when DoCheckToWrite fails 2023-02-28 13:33:47 +01:00
Anne-Catherine
370c1345d9 N°2916 - Import of IPv6 addresses fails when reconciliation is done on the IP (#382) 2023-02-28 12:08:32 +01:00
Anne-Catherine
af8f06c8c3 N°5603 - Autocomplete fails with error for an external key pointing to an abstract class with no friendlyname (#375) 2023-02-27 16:18:36 +01:00
Pierre Goiffon
bfe55183d0 N°6023 Fix error log
Thanks @Hipska !
2023-02-27 15:09:49 +01:00
odain
939771aa15 N°6022 - Make synchro scripts work by http via token authentication with SYNCHRO scopes 2023-02-27 11:07:52 +01:00
Molkobain
b174e4cab3 N°4517 - PHP 8.1: Fix deprecated notice for null value passed to string parameter of native PHP functions 2023-02-24 22:40:17 +01:00
Molkobain
61bd8b6bb4 N°4517 - PHP 8.1: Fix deprecated notice for null value passed to string parameter of native PHP functions 2023-02-24 21:40:10 +01:00
Pierre Goiffon
5c9eb7fa38 N°6020 PHPUnit for \utils::EscapeHtml and EscapedHtmlDecode methods
This will ensure conversion back and forth is working as expected (in other words, parameters to the php functions stays the same in both methods)
2023-02-23 18:56:28 +01:00
Pierre Goiffon
e960a4ad53 N°6023 Fix cannot load SVG files in AttributeImage since 3.0.0 (#449)
Caused by merge error in ddd6bf2

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-02-23 18:38:03 +01:00
Molkobain
7aad60ed1b Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.json
#	composer.lock
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.php
#	lib/composer/platform_check.php
#	setup/setuputils.class.inc.php
2023-02-23 16:21:56 +01:00
Molkobain
97965277c7 N°6017 - Update OAuth dependencies 2023-02-23 15:57:32 +01:00
Pierre Goiffon
93aee5883b N°6020 New \utils::EscapedHtmlDecode method 2023-02-23 15:17:46 +01:00
Molkobain
18ed5ed526 N°6019 - Increase PHP min version to 7.1.3 to enable dependencies update 2023-02-23 14:53:48 +01:00
Pierre Goiffon
bbf6476570 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-02-23 12:05:38 +01:00
Pierre Goiffon
94c4f8c929 N°6016 MissingDependencyException : better log message (#355)
The error displayed on screen was already improved (see #280)
This commit improves the log message we can have for example by running unattended install.
2023-02-23 12:04:56 +01:00
Pierre Goiffon
d40cf7fe3b ReOrder LogChannels const 2023-02-23 11:52:19 +01:00
Pierre Goiffon
6997c0fd83 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/log.class.inc.php
2023-02-23 11:47:49 +01:00
Pierre Goiffon
822922df5c N°5588 - Improve PDF export robustness when AttributeImage dimensions cannot be determined (#350)
Can happen for example on SVG images
Now the export won't crash anymore, and we'll get a log (export channel, warning level) with  the object and attribute causing a problem as context

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-02-23 11:45:29 +01:00
Pierre Goiffon
cb2be0eccd N°5121 New AttributeURL validation use case
In comment as it isn't handled yet
2023-02-23 11:16:50 +01:00
Pierre Goiffon
f55fc8d264 N°6014 Validation pattern for URL : now handles commas in params (#356)
Seen on PRTG URLs

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-02-23 10:59:38 +01:00
Molkobain
ea2140258c N°5317 - Handle overlapping tables when table cells have fixed widths 2023-02-22 18:57:56 +01:00
Stephen Abello
31f2666941 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	js/wizardhelper.js
2023-02-22 15:46:13 +01:00
Stephen Abello
cac7e94a67 N°5729 - Fix disabled button in bulk update/transition when picking a value in a drop-down list 2023-02-22 15:42:20 +01:00
Stephen Abello
da02a05fa3 Merge branch 'support/2.7' into support/3.0 2023-02-22 10:18:38 +01:00
Stephen Abello
6d019615d0 N°5865 - Restore DoCheckToWrite error messages in portal 2023-02-22 10:17:34 +01:00
Molkobain
ccdd315357 N°5919 - Add missing linkset descriptions in french and other languages 2023-02-21 22:14:57 +01:00
Eric Espie
9f81e4875a Merge branch 'hotfix/5944_GetClassesForInterface_filter' into support/3.0 2023-02-14 09:16:49 +01:00
Molkobain
4f102d764a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-02-10 23:18:37 +01:00
Molkobain
dbd58cfeb6 Tests: Force RestAPI unit tests not to verify SSL certificate as most dev / test envs are self-signed 2023-02-10 23:07:27 +01:00
Eric Espie
99b7d66cf2 N°5944 - Wrong filter for utils::GetClassesForInterface() 2023-02-03 11:10:37 +01:00
Anne-Catherine
12ef74ec42 N°5849 - Fix wrong encoding of external keys in "Header with statstics" dashlet (#384)
N°5849 - Fix wrong encoding of external keys in "Header with statstics" dashlet #384
2023-01-30 16:06:10 +01:00
Molkobain
3ca4122673 N°5834 - Fix activity panel disappearing when creating a Ticket in 'resolved' state 2023-01-20 11:30:05 +01:00
Pierre Goiffon
efa20e77d0 N°3769 Add data-input-id HTML attribute to fields in a transition form
Was only present in object edit mode :(
2023-01-19 17:53:14 +01:00
Eric Espie
effc4141c7 N°5900 - DB integrity analysis crashes when too many errors - module version 2023-01-19 09:30:37 +01:00
Eric Espie
f75a51d59e N°5900 - DB integrity analysis crashes when too many errors - limit the results to 100 to avoid memory errors 2023-01-19 08:51:02 +01:00
Eric Espie
9dc54d6e4c N°5901 - Warnings in Details part of file system Tab 2023-01-18 16:39:40 +01:00
Eric Espie
640b1b9176 ✏️ Added missing use of class Toolbar 2023-01-18 16:38:16 +01:00
Molkobain
3459dc5997 N°5897 - Improve deprecated logs relevance for PHP "trigger_deprecation" 2023-01-17 16:29:25 +01:00
Pierre Goiffon
de7c9d965e 💡 PHPDoc in \DeprecatedCallsLog 2023-01-17 15:37:23 +01:00
Molkobain
4c127b6f61 Revert "N°4517 - PHP 8.1: Fix return type hint for iterable classes"
This reverts commit 61be903eb2.
2023-01-16 14:38:20 +01:00
Molkobain
61be903eb2 N°4517 - PHP 8.1: Fix return type hint for iterable classes 2023-01-16 14:21:00 +01:00
Pierre Goiffon
a50ed02057 N°4660 Fix OQLTest 2023-01-16 11:39:38 +01:00
Pierre Goiffon
0a7c8f9fd1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/OQLTest.php
#	tests/php-unit-tests/unitary-tests/core/iTopConfigParserTest.php
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-01-16 11:36:02 +01:00
Pierre Goiffon
f65e14397c N°4660 Fix permissions changes in tests 2023-01-16 11:22:23 +01:00
Pierre Goiffon
d7b94fb123 N°3769 Add data-input-type HTML attribute to fields in a transition form
Was only present in object edit mode :(
2023-01-12 16:40:31 +01:00
Pierre Goiffon
80a9ded404 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-01-12 10:43:09 +01:00
Pierre Goiffon
c696a81c3a N°5821 JenkinsFile : introduce buildDiscarder 2023-01-12 10:42:06 +01:00
Pierre Goiffon
b9ed00d53f N°4660 Fix iTopConfigParserTest setting permissions of iTop config file
Alternative method to restore config file
chmod cannot be used with +w
In \Config::WriteToFile we are using fopen with mode=w, so using the same
In consequence we are not modifying anymore the iTop config file permissions \o/
2023-01-11 16:04:21 +01:00
Molkobain
c4508ea80c N°4660 - Fix data synchro unit test failure due to another test not restoring correct user permissions on conf file 2023-01-11 14:26:23 +01:00
Molkobain
16390c9b00 N°5857 - PHPUnit: Replace usage of deprecated assetContains with assertStringContainsString 2023-01-11 13:26:54 +01:00
Molkobain
1271a895d1 N°5857 - PHPUnit: Replace usage of deprecated assetContains with assertStringContainsString 2023-01-11 11:59:01 +01:00
Eric Espie
030f1e2463 Fix Status test 2023-01-11 10:28:32 +01:00
Pierre Goiffon
5729d6a9cd 🎨 StatusIncTest : fix phpdoc, replace @expectedException 2023-01-11 10:02:59 +01:00
Molkobain
a5efef900c N°5608 - Harmonize namespaces and merge duplicated test files 2023-01-10 23:02:54 +01:00
Molkobain
c851a10982 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-01-10 22:49:13 +01:00
Molkobain
845adf43c6 N°5608 - Harmonize namespaces and merge duplicated test files 2023-01-10 22:36:35 +01:00
Molkobain
5916e4ea39 N°5608 - Ensure both old & new tests structure are ran for extensions for backward compatibility 2023-01-10 22:03:40 +01:00
Molkobain
7f37de777e N°5608 - Fix unit tests following restructuring Part III
* Missed a usage of "use_legacy_search" conf param on the last commit
* Fix log tests which didn't moved correctly from Git PoV 😕
2023-01-10 21:11:10 +01:00
Molkobain
bcf880f327 N°5608 - Fix unit tests following restructuring Part II
"use_legacy_search" conf param was removed some time ago
2023-01-10 19:23:54 +01:00
Thomas Casteleyn
b593beb8c7 N°5867 Display binary data size in SynchroReplica details (#286) 2023-01-10 18:53:00 +01:00
Molkobain
6aa9aa2831 N°5608 - Fix unit tests following restructuring Part I 2023-01-10 18:15:53 +01:00
Molkobain
d177ee4a7f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/manual-visual-tests/Backoffice/RenderAllUiBlocks.php
#	tests/php-unit-tests/ItopDataTestCase.php
#	tests/php-unit-tests/ItopTestCase.php
#	tests/php-unit-tests/integration-tests/dictionaries-test/fr.dictionary.itop.core.KO.wrong_php
#	tests/php-unit-tests/integration-tests/dictionaries-test/fr.dictionary.itop.core.OK.php
#	tests/php-unit-tests/integration-tests/iTopModulesPhpVersionChecklistTest.php
#	tests/php-unit-tests/integration-tests/iTopXmlVersionChecklistTest.php
#	tests/php-unit-tests/phpunit.xml.dist
#	tests/php-unit-tests/unitary-tests/application/SCSSCompilationTest.php
#	tests/php-unit-tests/unitary-tests/application/Session/SessionTest.php
#	tests/php-unit-tests/unitary-tests/application/ThemeHandlerTest.php
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/DO_NOT_CHANGE.css-variables.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/DO_NOT_CHANGE.light-grey.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/README.md
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/_included_file3.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/cross_reference1.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/cross_reference2.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/feature1/_feature1.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/included_file1.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/included_scss/included_file2.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/included_scss/included_file4.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/multi_imports.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/shortcut.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/shortcut2.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/simple_import.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/simple_import2.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/typography.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/css/ui-lightness/DO_NOT_CHANGE.jqueryui.scss
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_1c94c4_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_222222_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_E87C1E_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_F26522_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_ffd27a_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/css/ui-lightness/images/ui-icons_ffffff_256x240.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/ac-background.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/actions_right.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/bg.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/breadcrumb-separator.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/calendar.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/delete.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/desc.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/error.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/eye-closed-555.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/eye-closed-fff.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/eye-open-555.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/eye-open-fff.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/full-screen.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/green-header.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/green-square.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/indicator.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/info-mini.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/minus.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/ok.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/orange-header.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/plus.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/red-header.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/truncated.png
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-collapsable-last.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-collapsable.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-expandable-last.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-expandable.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-item-last.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/testimages/images/tv-item.gif
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main_imagemodified.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main_importmodified.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main_stylesheet.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main_testcompilethemes.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/main_varchanged.css
#	tests/php-unit-tests/unitary-tests/application/theme-handler/expected/themes/basque-red/theme-parameters.json
#	tests/php-unit-tests/unitary-tests/application/theme-handler/getimages/expected-getimages.json
#	tests/php-unit-tests/unitary-tests/application/theme-handler/getimages/test-getimages.scss
#	tests/php-unit-tests/unitary-tests/core/ActionEmailTest.php
#	tests/php-unit-tests/unitary-tests/core/AttributeDefTest.inc.php
#	tests/php-unit-tests/unitary-tests/core/AttributeURLDefaultPattern.php
#	tests/php-unit-tests/unitary-tests/core/AttributeURLTest.php
#	tests/php-unit-tests/unitary-tests/core/BulkChangeTest.inc.php
#	tests/php-unit-tests/unitary-tests/core/CSVParserTest.php
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
#	tests/php-unit-tests/unitary-tests/core/DBSearchAddConditionPointingTo.php
#	tests/php-unit-tests/unitary-tests/core/ExpressionEvaluateTest.php
#	tests/php-unit-tests/unitary-tests/core/GetSelectFilterTest.php
#	tests/php-unit-tests/unitary-tests/core/InlineImageTest.php
#	tests/php-unit-tests/unitary-tests/core/Log/ExceptionLogTest.php
#	tests/php-unit-tests/unitary-tests/core/Log/ExceptionLogTest/Exceptions.php
#	tests/php-unit-tests/unitary-tests/core/Log/LogAPITest.php
#	tests/php-unit-tests/unitary-tests/core/Log/LogFileNameBuilderTest.php
#	tests/php-unit-tests/unitary-tests/core/LogAPITest.php
#	tests/php-unit-tests/unitary-tests/core/LogFileNameBuilderTest.php
#	tests/php-unit-tests/unitary-tests/core/MetaModelTest.php
#	tests/php-unit-tests/unitary-tests/core/OQLTest.php
#	tests/php-unit-tests/unitary-tests/core/UniquenessConstraintTest.php
#	tests/php-unit-tests/unitary-tests/core/XMLDataLoaderTest.php
#	tests/php-unit-tests/unitary-tests/core/dictApcuTest.php
#	tests/php-unit-tests/unitary-tests/core/dictTest.php
#	tests/php-unit-tests/unitary-tests/core/ormCaseLogTest.php
#	tests/php-unit-tests/unitary-tests/core/ormPasswordTest.php
#	tests/php-unit-tests/unitary-tests/core/ormStyleTest.php
#	tests/php-unit-tests/unitary-tests/setup/MFCompilerTest.php
#	tests/php-unit-tests/unitary-tests/setup/SubMFCompiler.php
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/1.7_to_1.6.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/1.7_to_1.6.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.6_to_1.7_2.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.6_to_1.7_2.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_1.6.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_1.6.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_1.6_2.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_1.6_2.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_1.7.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_1.7.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/Bug_4569.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/Bug_4569.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_deleted.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_deleted.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_not-in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_deleted_to_not-in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_deleted.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_deleted.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_not-in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_in-definition_to_not-in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_deleted.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_deleted.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_not-in-definition.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/MoveNode-samples/from_not-in-definition_to_not-in-definition.input.xml
#	tests/php-unit-tests/unitary-tests/setup/ressources/datamodels/datamodel-branding.xml
#	tests/php-unit-tests/unitary-tests/sources/application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/unitary-tests/sources/application/status/StatusIncTest.php
#	tests/php-unit-tests/unitary-tests/sources/application/status/status.php
#	tests/php-unit-tests/unitary-tests/synchro/DataSynchroTest.php
2023-01-10 15:27:44 +01:00
Molkobain
fbc0a898ae N°5608 - Move test files to corresponding directories after branch rebase 2023-01-10 12:11:12 +01:00
Molkobain
36f8e58e25 N°5608 - Use new ItopTestCase::RequireOnceXXX in unit tests 2023-01-10 12:11:12 +01:00
Molkobain
6a7dbb06b0 N°5608 - Add methods to require_once an iTop or a unit test file to avoid crashes when tests dir is moved 2023-01-10 12:11:12 +01:00
Molkobain
5721a324c1 Tests: Always display test status for better feedback 2023-01-06 22:30:09 +01:00
Molkobain
7de6c72154 Tests: Rename provider method name to match convention 2023-01-06 22:30:09 +01:00
Molkobain
c0cee02351 N°5608 - Factorize all core modules tests to a single test suite 2023-01-06 22:30:09 +01:00
Molkobain
bb674fb873 N°5608 - Move/rename "status" unit tests to match their counterpart location/name 2023-01-06 22:30:09 +01:00
Molkobain
6136eadd31 N°5608 - Fix some broken require paths since move/rename 2023-01-06 22:30:08 +01:00
Molkobain
87cb73c038 N°5608 - Rename "test" folder to "tests" to better match conventions 2023-01-06 22:30:08 +01:00
Molkobain
11d8547cef N°5608 - Move/rename unit tests to match their counterpart location/name 2023-01-06 22:30:08 +01:00
Molkobain
0998c73a1a N°5608 - Add README files 2023-01-06 22:30:07 +01:00
Molkobain
471f66649a N°5608 - Rename unitary test folders for better understanding 2023-01-06 22:30:07 +01:00
Molkobain
e8bf9cf688 N°5608 - Move "twig" PHP unit test to new folder
Notice: Test was not working, still not working
2023-01-06 22:30:07 +01:00
Molkobain
4f88a0e7d2 N°5608 - Move legacy PHP unit tests (not run by CI) to a dedicated folder 2023-01-06 22:30:07 +01:00
Molkobain
c6b0e273e6 N°5608 - Rename "VisualTests" folder to match new convention 2023-01-06 22:30:07 +01:00
Molkobain
d9539f9d01 N°5608 - Add comments to main autoloader 2023-01-06 22:30:06 +01:00
Molkobain
a3e309acb5 N°5608 - Revert "authent-local" test suite to its original rank as it is crashing the CI 🤔 2023-01-06 22:30:06 +01:00
Molkobain
c06cbfd4a9 N°5608 - Rename "coreExtensions" test suite to correct datamodel module (authent-local) 2023-01-06 22:30:06 +01:00
Molkobain
1d7e4e1a42 N°5608 - Move unit tests to a dedicated folder and start reorganizing to match iTop folder structure 2023-01-06 22:30:06 +01:00
Eric Espie
524e65a29b 📝 fix PHPDoc 2023-01-05 09:23:48 +01:00
Eric Espie
df7d7c877d N°5490 - PHP 8.0: Fix crash of bulk modify 2023-01-03 08:50:18 +01:00
Eric Espie
4bcad431aa 📝 Change packages for auto-documentation 2022-12-29 15:59:59 +01:00
Eric Espie
5fe32aac15 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	application/applicationextension.inc.php
2022-12-29 12:40:37 +01:00
Eric Espie
88d9a29599 📝 Change packages for auto-documentation 2022-12-29 12:38:31 +01:00
Eric Espie
92a36dcfdd 📝 Change packages for auto-documentation 2022-12-29 12:24:56 +01:00
Eric Espie
23b4d4cb6b Merge branch 'support/2.7' into support/3.0 2022-12-28 09:52:52 +01:00
Eric Espie
b37e74b407 📝 Change packages for auto-documentation 2022-12-28 09:51:46 +01:00
Pierre Goiffon
cb6232cc05 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-12-15 15:36:43 +01:00
Pierre Goiffon
0d49c605e2 💡 Fix \DBSearch::FromOQL phpdoc + modifiers order 2022-12-15 15:36:14 +01:00
Molkobain
6d47b0f4f8 N°4517 - PHP 8.0: Fix undefined array key due to type cast being done before coalesce 2022-12-14 20:34:40 +01:00
Eric Espie
e1c28a5c22 Merge branch 'support/2.7' into support/3.0 2022-12-14 15:45:27 +01:00
Eric Espie
296ee019a0 Merge branch 'support/2.7' into support/3.0 - nothing to do 2022-12-14 15:44:05 +01:00
Molkobain
7c2f8f4d93 N°5765 - Setup: Never cache folder permissions test response (#374) 2022-12-14 09:33:54 +01:00
Pierre Goiffon
1f76ff940d N°5797 Replace wrong config load (#338) 2022-12-13 18:23:09 +01:00
Eric Espie
bb26e48d38 Update version to next release 2.7.9 2022-12-12 16:19:42 +01:00
Eric Espie
26042b990f Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-08 08:34:16 +01:00
Eric Espie
cf433f2f80 N°5725 - Twig update 'filter', 'map' and 'reduce' filters 2022-12-08 08:25:11 +01:00
Eric Espie
ae94e58a43 N°5725 - Twig update 'filter', 'map' and 'reduce' filters 2022-12-07 13:53:15 +01:00
Eric Espie
f66692d5cf Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-07 13:44:54 +01:00
Eric Espie
2b917f6647 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-oauth-client/src/Service/PopupMenuExtension.php
2022-12-07 13:42:36 +01:00
Eric Espie
cda017fa4f N°5725 - Twig update 'filter', 'map' and 'reduce' filters 2022-12-07 13:37:52 +01:00
Pierre Goiffon
dad22f6f83 📄 Update Licenses 2022-12-07 11:04:33 +01:00
Eric Espie
9474f43d61 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-oauth-client/src/Service/PopupMenuExtension.php
2022-12-02 11:20:31 +01:00
Eric Espie
9077f7ba37 N°5430 - OAuth authentication : customize redirect landing URL - remove unnecessary parameter to JS function OAuthConnect 2022-12-02 11:17:01 +01:00
Eric Espie
4d365c8a44 Merge branch 'support/2.7' into support/3.0 2022-12-02 09:26:40 +01:00
Eric Espie
957ff40f30 N°5155 - Email by SMTP with self-signed certificate (changed default values to the previous behaviour) 2022-12-02 09:25:53 +01:00
Eric Espie
7bb12c35ea Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
2022-11-30 14:27:32 +01:00
Eric Espie
aff9c7748b N°5155 - Email by SMTP with self-signed certificate 2022-11-30 14:18:11 +01:00
Eric Espie
e518d34bc9 N°5553 - OAuth 2 : Hide Client Secret
* client_id is now 255 chars (AttributeString)
 * client_secret is now 64 chars (AttributePassword) and cannot be anymore in the uniqueness rules
 * The modification of redirect_url, client_id or client_secret change the status to inactive and generate a session message to ask for token regeneration
2022-11-30 14:15:37 +01:00
Eric Espie
51a305b445 N°5725 - Twig update 'filter', 'map' and 'reduce' filters (twig functions signature changed) 2022-11-30 13:40:44 +01:00
Eric Espie
5577f4a62e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-30 13:36:18 +01:00
Eric Espie
f0141530b9 N°5725 - Twig update 'filter', 'map' and 'reduce' filters (+1 squashed commits)
Squashed commits:

[00148dec5] N°5725 - Twig update 'filter', 'map' and 'reduce' filters
2022-11-30 13:28:33 +01:00
Pierre Goiffon
92a802947d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/wizardsteps.class.inc.php
2022-11-29 19:02:51 +01:00
xtophe38
ce5096a896 N°5758 Change setup test for GDPR consent (#336)
We were using SetupUtils::IsProductVersion, but this was blocking for certain packages like TeemIP standalone.
After this change we are now relying on a new method : \SetupUtils::IsConnectableToITopHub. It will check the iTop Hub Connector module presence instead.
2022-11-29 19:00:17 +01:00
Pierre Goiffon
5efd45eafc Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/ajax.render.php
2022-11-29 18:18:24 +01:00
Pierre Goiffon
23e0ed5e56 N°4449 Test for FPD detection in RuntimeDashboard 2022-11-29 18:10:17 +01:00
Pierre Goiffon
d412a52fcc N°4449 Fix FPD in dashboard export/import 2022-11-29 18:10:17 +01:00
Molkobain
cf5745b985 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/pdfbulkexport.class.inc.php
2022-11-26 00:09:10 +01:00
Molkobain
3e18ad590f Fix image attributes not being visible in PDF exports 2022-11-25 19:30:35 +01:00
Eric Espie
b174aa9aeb Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-oauth-client/vendor/composer/InstalledVersions.php
#	datamodels/2.x/itop-oauth-client/vendor/composer/installed.php
2022-11-25 17:37:01 +01:00
odain
0001e8ffc4 💚 use new ci validation 2020-10-09 10:13:51 +02:00
4961 changed files with 185439 additions and 292016 deletions

View File

@@ -1,20 +0,0 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = ../../docs/UI
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)$@" $(SPHINXOPTS) $(O)

View File

@@ -1,73 +0,0 @@
# Twig based UI blocks documentation
This documentation explains how to use UI blocks (new in 3.0) in twig based extensions.
# How to build UI Documentation
## Install sphinx
### Windows users
Install Python from https://www.python.org/downloads/windows/
Under `.doc/UI`, run
```
pip install -U sphinx
pip install sphinx-rtd-theme
pip install myst-parser
pip install sphinx-multiversion
```
### Linux users
You should have Python installed.
Under `.doc/UI`, run
```
sudo apt-get install python3-sphinx
pip install sphinx-rtd-theme
pip install myst-parser
pip install sphinx-multiversion
```
## Documentations
* sphinx https://www.sphinx-doc.org/en/master/
* sphinx-multiversion https://holzhaus.github.io/sphinx-multiversion/master/index.html
* Read the Docs https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
* RST https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
* MyST https://myst-parser.readthedocs.io/en/latest/
## Generating the documentation
### Generating the documentation source from the actual code
Under `.doc/UI`
```
php bin/generate_uiblock.php
```
When the source have not changed, just regenerate the documentation using the following methods.
### Regenerating the doc
#### Windows users
Under `.doc/UI`
```
make.bat html
```
The documentation is generated into `.doc/UI/build/html`
#### Linux users
Under `.doc/UI`, run
```
make html
```
The documentation is generated into `.doc/UI/build/html`

View File

@@ -1,551 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Documentation\UI;
use Exception;
use ReflectionClass;
use ReflectionException;
use ReflectionMethod;
use ReflectionNamedType;
use utils;
chdir(__DIR__);
require_once '../../../approot.inc.php';
require_once(APPROOT.'application/startup.inc.php');
function log($sMsg)
{
$sDate = date('Y-m-d H:i:s');
echo "{$sDate} - {$sMsg}\n";
}
/**
* Echo an RST array of aParams filtered by aColumns
*
* @param array $aParams
* @param array $aColumns
*/
function DisplayParamsArray(array $aParams, array $aColumns)
{
foreach ($aParams as $aParam) {
foreach ($aColumns as $sColName => $iMax) {
$iLen = strlen($aParam[$sColName]);
if ($iLen > $iMax) {
$aColumns[$sColName] = $iLen;
}
}
}
$sArrayLine = '+';
foreach ($aColumns as $iMax) {
$sArrayLine .= str_repeat('-', $iMax + 2).'+';
}
echo "$sArrayLine\n";
foreach ($aParams as $aParam) {
foreach ($aColumns as $sColName => $iMax) {
echo '| '.str_pad($aParam[$sColName], $iMax).' ';
}
echo "|\n";
echo "$sArrayLine\n";
}
echo "\n";
}
/**
* Generate the syntax for the given aParams
*
* @param array $aParams
*
* @return string
*/
function DisplayParamsAsString(array $aParams): string
{
$aParamStr = [];
foreach ($aParams as $aParam) {
$sParam = $aParam['name'].':';
switch ($aParam['type']) {
case 'string':
$sParam .= "'value'";
break;
case 'array':
$sParam .= "{name:value, name:value}";
break;
case 'bool':
$sParam .= "true";
break;
default:
$sParam .= "value";
break;
}
$aParamStr[] = $sParam;
}
return implode(', ', $aParamStr);
}
/**
* Echo the generated rst file for the given class
*
* @param string $sClass
* @param string $sClassComment
* @param string $sDir
* @param string $sTag
* @param bool $bHasSubBlocks
* @param array $aDocTypes
* @param array $aDocGeneralParams
*/
function output(string $sClass, string $sClassComment, string $sDir, string $sTag, bool $bHasSubBlocks, array $aDocTypes, array $aDocGeneralParams)
{
if ($bHasSubBlocks) {
$sSyntax = <<<EOF
{% $sTag Type {Parameters} %}
Content Goes Here
{% End$sTag %}
EOF;
} else {
$sSyntax = <<<EOF
{% $sTag Type {Parameters} %}
EOF;
}
$sYear = date('Y');
echo ".. Copyright (C) 2010-$sYear Combodo SARL\n";
echo ".. http://opensource.org/licenses/AGPL-3.0\n";
echo "\n";
echo ".. _$sClass:\n";
echo "\n";
echo "$sClass\n";
$sLine = str_repeat('=', strlen($sClass));
echo "$sLine\n";
echo "\n";
echo "$sClassComment\n";
echo "\n";
echo "----\n";
echo "\n";
echo ".. include:: /manual/{$sDir}AdditionalDescription.rst\n";
echo "\n";
echo "----\n";
echo "\n";
echo "Twig Tag\n";
echo "--------\n";
echo "\n";
echo ":Tag: **$sTag**\n";
echo "\n";
echo ":Syntax:\n";
echo "\n";
echo ".. code-block:: twig\n";
echo "\n";
echo "$sSyntax\n";
echo "\n";
echo ":Type:\n";
echo "\n";
$iMaxLength = 0;
$iMaxComLength = 0;
foreach ($aDocTypes as $sType => $aDoc) {
$sComment = $aDoc['comment'];
$sType = ":ref:`$sType <$sClass$sType>`";
$iLength = strlen($sType);
if ($iLength > $iMaxLength) {
$iMaxLength = $iLength;
}
$iComLength = strlen($sComment);
if ($iComLength > $iMaxComLength) {
$iMaxComLength = $iComLength;
}
}
$sArrayLine = '+'.str_repeat('-', $iMaxLength + 2).'+'.str_repeat('-', $iMaxComLength + 2).'+';
echo "$sArrayLine\n";
foreach ($aDocTypes as $sType => $aDoc) {
$sComment = $aDoc['comment'];
$sType = ":ref:`$sType <$sClass$sType>`";
echo '| '.str_pad($sType, $iMaxLength).' | '.str_pad($sComment, $iMaxComLength)." |\n";
echo "$sArrayLine\n";
}
echo "\n";
// Parameters for each type
foreach ($aDocTypes as $sType => $aDoc) {
$aParams = $aDoc['params'];
if (!empty($aParams)) {
echo ".. _$sClass$sType:\n";
echo "\n";
echo "$sClass $sType\n";
echo str_repeat("^", strlen("$sClass $sType"));
echo "\n";
echo "\n";
echo ":syntax:\n";
echo "\n";
echo ".. code-block:: twig\n";
echo "\n";
$sParameters = DisplayParamsAsString($aParams);
if ($bHasSubBlocks) {
$sSyntax = <<<EOF
{% $sTag $sType {{$sParameters}} %}
Content Goes Here
{% End$sTag %}
EOF;
} else {
$sSyntax = <<<EOF
{% $sTag $sType {{$sParameters}} %}
EOF;
}
echo "$sSyntax\n";
echo "\n";
echo ":parameters:\n";
echo "\n";
$aColumns = [
'name' => 0,
'type' => 0,
'status' => 0,
'default' => 0,
'comment' => 0,
];
DisplayParamsArray($aParams, $aColumns);
}
}
if (!empty($aDocGeneralParams)) {
echo "$sClass common parameters\n";
echo str_repeat("^", strlen("$sClass common parameters"));
echo "\n\n";
$aColumns = [
'name' => 0,
'type' => 0,
'comment' => 0,
];
usort($aDocGeneralParams, function ($a, $b) {
return strcmp($a['name'], $b['name']);
});
DisplayParamsArray($aDocGeneralParams, $aColumns);
}
echo "----\n";
echo "\n";
echo ".. include:: /manual/{$sDir}Footer.rst\n";
}
/**
* Get parameters info from a method
*
* @param \ReflectionMethod $oMethod
*
* @return array
* @throws \ReflectionException
*/
function GetMethodParameters(ReflectionMethod $oMethod): array
{
$aDocParams = [];
$aParameters = $oMethod->getParameters();
$sFullComment = $oMethod->getDocComment();
foreach ($aParameters as $oParameter) {
$sName = $oParameter->getName();
$aDocParam['name'] = $sName;
if ($oParameter->isOptional()) {
$aDocParam['status'] = 'optional';
$sDefault = $oParameter->getDefaultValue();
$aDocParam['default'] = str_replace("\n", '', var_export($sDefault, true));
} else {
$aDocParam['status'] = 'mandatory';
$aDocParam['default'] = '';
}
$oParamType = $oParameter->getType();
if ($oParamType instanceof ReflectionNamedType) {
$sType = $oParamType->getName();
$iPos = strrpos($sType, "\\");
if ($iPos !== false) {
$sType = substr($sType, $iPos + 1);
}
$aDocParam['type'] = $sType;
} else {
$aDocParam['type'] = '';
}
// Get the comment for the param from method comment
if ($sFullComment !== false) {
if (preg_match("#^\s*\*\s*@param\s+\S*\s*.$sName(?<comment>.*)$#m", $sFullComment, $aMatches)) {
$sComment = trim($aMatches['comment']);
if (preg_match("#^{@see (?<class>\S+)::.(?<property>\S+)}#", $sComment, $aMatches)) {
// Reference to a property of another class
$sClassName = $aMatches['class'];
$sProperty = $aMatches['property'];
try {
GetPropertyComment($sClassName, $sProperty, $sComment);
}
catch (ReflectionException $e) {
// Try with the current name space
$oLocalClass = new ReflectionClass($oMethod->class);
$sNameSpace = $oLocalClass->getNamespaceName();
$sClass = $sNameSpace.'\\'.$sClassName;
try {
GetPropertyComment($sClass, $sProperty, $sComment);
}
catch (ReflectionException $e) {
// Search in the autoloader
$sAutoloadFile = APPROOT.'lib/composer/autoload_classmap.php';
$aTmpClassMap = include $sAutoloadFile;
foreach (array_keys($aTmpClassMap) as $sClass) {
if (utils::EndsWith($sClass, '\\'.$sClassName)) {
try {
GetPropertyComment($sClass, $sProperty, $sComment);
break;
}
catch (ReflectionException $e) {
}
}
}
}
}
}
} else {
$sComment = '';
}
} else {
$sComment = '';
}
$aDocParam['comment'] = $sComment;
$aDocParams[] = $aDocParam;
}
return $aDocParams;
}
/**
* Get the comment for a class property (variable)
*
* @param $sClass
* @param $sProperty
* @param $sComment
*
* @throws \ReflectionException when class or property does not exist
*/
function GetPropertyComment($sClass, $sProperty, &$sComment): void
{
$oTargetClass = new ReflectionClass($sClass);
$oProperty = $oTargetClass->getProperty($sProperty);
$sComment = $oProperty->getDocComment();
if (preg_match("#/\*\*\s*@var\s+\S+(\s+$sProperty)?\s+(?<comment>.*)\*/#", $sComment, $aMatches)) {
$sComment = trim($aMatches['comment']);
}
}
function GetMethodComment(ReflectionMethod $oMethod, string $sParamName)
{
$sComment = $oMethod->getDocComment();
if (strpos($sComment, $sParamName) !== false) {
return $sComment;
}
//echo "- comment for $sParamName not found in ".$oMethod->class.":".$oMethod->name."\n";
// Try to find the comment in the parent class
$oReflectionClass = new ReflectionClass($oMethod->class);
$oReflectionParentClass = $oReflectionClass->getParentClass();
if ($oReflectionParentClass === false) {
$aReflectionParentClasses = $oReflectionClass->getInterfaces();
foreach ($aReflectionParentClasses as $oReflectionParentClass) {
try {
$oParentMethod = $oReflectionParentClass->getMethod($oMethod->name);
}
catch (ReflectionException $e) {
continue;
}
$sComment = GetMethodComment($oParentMethod, $sParamName);
if (!empty($sComment)) {
return $sComment;
}
}
return '';
}
try {
$oParentMethod = $oReflectionParentClass->getMethod($oMethod->name);
}
catch (ReflectionException $e) {
return '';
}
return GetMethodComment($oParentMethod, $sParamName);
}
/////////////////////////////
/// Main
///
if (!utils::IsModeCLI()) {
echo "Only CLI mode is allowed\n";
return;
}
$sUIBlock = utils::ReadParam('uiblock', '', true);
$sSourceDir = '../source';
$sInterface = "Combodo\\iTop\\Application\\UI\\Base\\iUIBlockFactory";
$aFactoryClasses = utils::GetClassesForInterface($sInterface, $sUIBlock.'UIBlockFactory');
foreach ($aFactoryClasses as $sFactoryClass) {
try {
$sTag = call_user_func([$sFactoryClass, 'GetTwigTagName']);
$sBlockClassName = call_user_func([$sFactoryClass, 'GetUIBlockClassName']);
$bHasSubBlocks = is_subclass_of($sBlockClassName, "Combodo\\iTop\\Application\\UI\\Base\\Layout\\UIContentBlock") || $sBlockClassName == "Combodo\\iTop\\Application\\UI\\Base\\Layout\\UIContentBlock";
$oReflectionClassFactory = new ReflectionClass($sFactoryClass);
$oReflectionClassUIBlock = new ReflectionClass($sBlockClassName);
$sClassName = $oReflectionClassUIBlock->getShortName();
$aMethods = $oReflectionClassFactory->getMethods(ReflectionMethod::IS_PUBLIC);
$aDocTypes = [];
foreach ($aMethods as $oMethod) {
$sMethodName = $oMethod->name;
if (utils::StartsWith($sMethodName, 'Make')) {
$oMethod = $oReflectionClassFactory->getMethod($sMethodName);
$sFullComment = $oMethod->getDocComment();
if ($sFullComment !== false) {
// Remove the first line
$sComment = $sFullComment;
$sComment = substr($sComment, strpos($sComment, "\n") + 1);
$sComment = trim(substr($sComment, strpos($sComment, "*") + 1));
// Remove the last lines
$sComment = substr($sComment, 0, strpos($sComment, "\n"));
} else {
$sComment = 'No comment';
}
$sType = substr($sMethodName, strlen('Make'));
$aDocType['comment'] = $sComment;
$aDocType['params'] = GetMethodParameters($oMethod);
$aDocTypes[$sType] = $aDocType;
}
}
// Setters and Adders
$aMethods = $oReflectionClassUIBlock->getMethods(ReflectionMethod::IS_PUBLIC);
$aDocGeneralParams = [];
foreach ($aMethods as $oMethod) {
if (!$oMethod->isStatic() && $oMethod->getNumberOfParameters() == 1) {
$sName = '';
if (utils::StartsWith($oMethod->getName(), 'Set')) {
$sName = substr($oMethod->getName(), 3); // remove 'Set' to get the variable name
}
if (utils::StartsWith($oMethod->getName(), 'Add')) {
$sName = $oMethod->getName();
}
if (!empty($sName)) {
// Get the param name
$aParams = GetMethodParameters($oMethod)[0];
$aParams['name'] = $sName;
$aDocGeneralParams[] = $aParams;
}
}
}
// Class comment
$sFullClassComment = $oReflectionClassUIBlock->getDocComment();
$aComments = preg_split("@\n@", $sFullClassComment);
$aClassComments = [];
// remove first line
array_shift($aComments);
while ($sComment = array_shift($aComments)) {
if (utils::StartsWith($sComment, " * @")) {
break;
}
$sComment = trim(preg_replace("@^ \*@", '', $sComment));
if (strlen($sComment) > 0) {
$aClassComments[] = $sComment;
}
}
$sClassComment = implode("\n", $aClassComments);
if (empty($sClassComment)) {
$sClassComment = "Class $sClassName";
}
$sDir = str_replace("Combodo\\iTop\\Application\\UI\\Base\\", '', $sBlockClassName);
$sDir = str_replace("\\", '/', $sDir);
ob_start();
output($sClassName, $sClassComment, $sDir, $sTag, $bHasSubBlocks, $aDocTypes, $aDocGeneralParams);
$sContent = ob_get_contents();
ob_end_clean();
$sFilename = $sSourceDir.'/generated/'.$sDir.'.rst';
@mkdir(dirname($sFilename), 0775, true);
file_put_contents($sFilename, $sContent);
// Check that manual files exists
$sAdditionalDescription = $sSourceDir.'/manual/'.$sDir.'AdditionalDescription.rst';
@mkdir(dirname($sAdditionalDescription), 0775, true);
$sYear = date('Y');
if (!is_file($sAdditionalDescription)) {
file_put_contents($sAdditionalDescription, <<<EOF
.. Copyright (C) 2010-$sYear Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Output
------
No output provided yet
.. example of image
.. image:: /manual/$sDir.png
EOF
);
}
$sFooter = $sSourceDir.'/manual/'.$sDir.'Footer.rst';
@mkdir(dirname($sFooter), 0775, true);
if (!is_file($sFooter)) {
file_put_contents($sFooter, <<<EOF
.. Copyright (C) 2010-$sYear Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Examples
--------
No examples provided yet
.. example of image
.. image:: /manual/$sDir.png
EOF
);
}
echo "Generated $sFilename\n";
}
catch (Exception $e) {
}
}
// Rebuild doc
$sRootDir = dirname(__DIR__);
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo "Windows build\n";
echo shell_exec("$sRootDir/make.bat html");
} else {
echo "Linux build\n";
shell_exec("$sRootDir/make html");
}

View File

@@ -1,35 +0,0 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-multiversion
)
set SOURCEDIR=source
set BUILDDIR=..\..\docs\UI
if "%1" == "" goto help
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
%SPHINXBUILD% %SOURCEDIR% %BUILDDIR%/%1 %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,29 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Twig Base Presentation
======================
This feature is intended to help extension creators to design forms in a *modern* way.
The **Twig Base** feature is based on MVC structure:
.. image:: MVC.png
When creating an extension following this structure, some parts have to be done:
:Model:
Optional part to define the specific data model for the extension
:Service:
Recommended part to produce the data to be displayed
:Controller:
Mandatory part to gather the data from the *Service* and display using the *View*.
The *Controller* contains an automatic routing mechanism to be selected by the *operation* parameter.
:View:
Mandatory part to display the data given by the *Controller*
:End point:
Mandatory part receiving the request and calling the *Controller*

View File

@@ -1,70 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step1:
1. Creating the structure
=========================
Create a module using the `helper to create a new extension <https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Adatamodel#creating_your_own_extension>`_ you'll get the following structure::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
└── vendor
``src/Controller``
Contains all the PHP to control the display of the different pages of the module.
``src/Service``
Contains the PHP used to generate the data to be displayed.
Create a folder ``templates`` for the *Twig* templates used for the presentation::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
├── templates
└── vendor
If your module is for iTop version 3.0 and above, you can put all the dictionaries into a dedicated folder ``dictionaries``::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── dictionaries
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
├── templates
└── vendor

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,124 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step2:
2. Hello World!
===============
The controller
--------------
Create a controller into ``my-module/src/Controller``, let's call it ``MyModuleController`` extending ``Combodo\iTop\Application\TwigBase\Controller\Controller``
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
class MyModuleController extends Controller
{
}
Let's add a *Hello World* operation
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$this->DisplayPage();
}
}
This will just display the Twig template corresponding to this operation.
Here the operation is **HelloWorld** without space.
The name of the method is built from the operation name by adding *Operation* at the beginning: ``OperationHelloWorld``.
Calling the method ``DisplayPage()`` will render the template named after the operation: ``HelloWorld.html.twig`` it will be located in the folder ``my-module/templates``.
The template
------------
Let's create the template ``my-module/templates/HelloWorld.html.twig`` with a nice title.
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello World!'} %}{% EndUITitle %}
Twig syntax can be found `Here <https://twig.symfony.com/doc/3.x/>`_.
For more information on specific iTop Twig tags you can check :ref:`Components` and :ref:`Layouts`, *note that UI blocks are new in iTop 3.0 and cannot be used in iTop 2.7*
The end point
-------------
Then create landing page for your module ``my-module/index.php``
.. code-block:: php
:linenos:
:caption: index.php
<?php
namespace MyCompany\iTop\MyModule;
use MyCompany\iTop\MyModule\Controller\MyModuleController;
require_once(APPROOT.'application/startup.inc.php');
$oUpdateController = new MyModuleController(MODULESROOT.'my-module/templates', 'my-module');
$oUpdateController->SetDefaultOperation('HelloWorld');
$oUpdateController->HandleOperation();
Create an instance of the controller indicating the templates path and the module name.
The default operation is set to the operation we want when entering the module.
The method ``HandleOperation()`` will call the method corresponding to the specified operation.
Now you have to build the autoloader by running ``composer dump-autoload`` into the module folder ``my-module``.
The next operation is the `setup <https://www.itophub.io/wiki/page?id=latest%3Ainstall%3Ainstall_wizard>`_. You will be able to select your module.
.. image:: Setup.png
For more comfort during the development of your module, you can `install the toolkit <https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Adatamodel#installing_the_toolkit>`_ and update your iTop with symlinks.
if you go to your module page ``https://localhost/itop/pages/exec.php?exec_module=my-module&exec_page=index.php`` you should see:
.. image:: Step2.png
You will notice that if you work with an iTop from an official package (not the sources from ``https://github.com/Combodo/iTop``, when you modify the twig template, the result does not change.
In this case, you'll have to add the following parameter to your iTop configuration:
.. code-block:: php
<?php
/**
*
* Configuration file, generated by the iTop configuration wizard
*
* The file is used in MetaModel::LoadConfig() which does all the necessary initialization job
*
*/
$MySettings = array(
// developer_mode.enabled: If true then unlocks dev env functionalities, see \utils::IsDevelopmentEnvironment
'developer_mode.enabled' => true,
// ...
);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,93 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step3:
3. Passing variables to templates
=================================
We have seen in :ref:`Step2` how to create a static template. Let's send some variables to have a more dynamic display.
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$this->DisplayPage($aParams);
}
}
The ``DisplayPage()`` method accept an array of parameters. This array is transformed into variables for the Twig template.
Here two variables are created: ``sName`` and ``sDate``, we can use them in the template.
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello ' ~ sName ~ '!'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'date'}} %}
We are currently {{ sDate }}
{% EndUIContentBlock %}
The output is then
.. image:: Hello2.png
The variables can be of any type, for example you can give an array as a variable:
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$aParams['aQuarter'] = ['January', 'February', 'March'];
$this->DisplayPage($aParams);
}
}
Here ``aQuarter`` is an array containing some months, we can use it in a selector:
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello ' ~ sName ~ '!'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'date'}} %}
We are currently {{ sDate }}
{% EndUIContentBlock %}
{% UIForm Standard {sId:'my-form'} %}
Select Month:
{% UISelect ForSelect {sName:'month'} %}
{% for index,sMonth in aQuarter %}
{% UISelectOption ForSelectOption {sValue: index, sLabel: sMonth, bSelected:false} %}
{% endfor %}
{% EndUISelect %}
{% EndUIForm %}
The output is:
.. image:: Hello3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,78 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step4:
4. Adding new operations
========================
We currently have only one operation ``HelloWorld``. Generally multiple operations are needed, let's add a new one.
In the previous part :ref:`Step3` we have created a form, it will be used to call the operation ``SelectMonth``.
Modify the form to add an hidden input to set the operation and add a submit button:
.. code-block:: twig
:lineno-start: 6
:caption: templates/HelloWorld.html.twig
{% UIForm Standard {sId:'myform'} %}
Select Month:
{% UISelect ForSelect {sName:'month'} %}
{% for index,sMonth in aQuarter %}
{% UISelectOption ForSelectOption {sValue: index, sLabel: sMonth, bSelected:false} %}
{% endfor %}
{% EndUISelect %}
{% UIInput ForHidden {sName:'operation', sValue:'SelectMonth'} %}
{% UIContentBlock Standard {DataAttributes: {role: 'actions'}} %}
{% UIButton ForPrimaryAction {sLabel:'Ok', bIsSubmit:true} %}
{% EndUIContentBlock %}
{% EndUIForm %}
The output of this template is:
.. image:: form.png
Now add the operation in the controller:
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
// ...
class MyModuleController extends Controller
{
// ...
public function OperationSelectMonth()
{
$aMonths = ['January', 'February', 'March'];
$iMonth = utils::ReadParam('month', 0);
$aParams['sSelectedMonth'] = $aMonths[$iMonth];
$this->DisplayPage($aParams);
}
}
*Disclaimer: The code is for tutorial only, don't use it in production as no check is done on the entries*
The corresponding template must be created ``templates/SelectMonth.html.twig``
.. code-block:: twig
:linenos:
:caption: templates/SelectMonth.html.twig
{% UITitle ForPage {sTitle:'Selected month'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'Information'}} %}
The selected month is {{ sSelectedMonth }}
{% EndUIContentBlock %}
The output of this operation is:
.. image:: SelectMonth.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -1,27 +0,0 @@
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
use utils;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$aParams['aQuarter'] = ['January', 'February', 'March'];
$this->DisplayPage($aParams);
}
// ...
public function OperationSelectMonth()
{
$aMonths = ['January', 'February', 'March'];
$iMonth = utils::ReadParam('month', 0);
$aParams['sSelectedMonth'] = $aMonths[$iMonth];
$this->DisplayPage($aParams);
}
}

View File

@@ -1,14 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Twig Base Tutorial
==================
.. toctree::
:maxdepth: 1
:caption: Tutorial:
Step1/Step1
Step2/Step2
Step3/Step3
Step4/Step4

View File

@@ -1,17 +0,0 @@
/*!
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
.wy-nav-content {
max-width: 1024px;
min-height: 100%;
}
h3 {
font-size: 100%;
}
.rst-content .code-block-caption {
text-align: inherit;
}

View File

@@ -1,18 +0,0 @@
{%- extends "!layout.html" %}
{% block document %}
{% if current_version and latest_version and current_version.name != 'latest' and current_version != latest_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<div class="admonition attention">
<p class="admonition-title">Attention!</p>
<p>
Vous consultez une ancienne version de cette documentation.
Si vous voulez lire la plus récente, c'est par là <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
</p>
</div>
{% endif %}
{{ super() }}
{% endblock %}%

View File

@@ -1,58 +0,0 @@
"""
Sphinx Read the Docs theme.
From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
"""
from os import path
from sys import version_info as python_version
from sphinx import version_info as sphinx_version
from sphinx.locale import _
from sphinx.util.logging import getLogger
__version__ = '0.5.1'
__version_full__ = __version__
logger = getLogger(__name__)
def get_html_theme_path():
"""Return list of HTML theme paths."""
cur_dir = path.abspath(path.dirname(path.dirname(__file__)))
return cur_dir
def config_initiated(app, config):
theme_options = config.html_theme_options or {}
if theme_options.get('canonical_url'):
logger.warning(
_('The canonical_url option is deprecated, use the html_baseurl option from Sphinx instead.')
)
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
def setup(app):
if python_version[0] < 3:
logger.warning("Python 2 is deprecated with sphinx_rtd_theme, update to Python 3")
app.require_sphinx('1.6')
if sphinx_version <= (2, 0, 0):
logger.warning("Sphinx 1.x is deprecated with sphinx_rtd_theme, update to Sphinx 2.x or greater")
if not app.config.html_experimental_html5_writer:
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
else:
if app.config.html4_writer:
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
# Register the theme that can be referenced without adding a theme path
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
if sphinx_version >= (1, 8, 0):
# Add Sphinx message catalog for newer versions of Sphinx
# See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog
rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale')
app.add_message_catalog('sphinx', rtd_locale_path)
app.connect('config-inited', config_initiated)
return {'parallel_read_safe': True, 'parallel_write_safe': True}

View File

@@ -1,75 +0,0 @@
{%- if meta is defined and meta is not none %}
{%- set check_meta = True %}
{%- else %}
{%- set check_meta = False %}
{%- endif %}
{%- if check_meta and 'github_url' in meta %}
{%- set display_github = True %}
{%- endif %}
{%- if check_meta and 'bitbucket_url' in meta %}
{%- set display_bitbucket = True %}
{%- endif %}
{%- if check_meta and 'gitlab_url' in meta %}
{%- set display_gitlab = True %}
{%- endif %}
{%- set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %}
<div role="navigation" aria-label="{{ _('Breadcrumbs') }}">
<ul class="wy-breadcrumbs">
{%- block breadcrumbs %}
<li><a href="{{ pathto(master_doc) }}" class="icon icon-home"></a> &raquo;</li>
{%- for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{%- endfor %}
<li>{{ title }}</li>
{%- endblock %}
{%- block breadcrumbs_aside %}
<li class="wy-breadcrumbs-aside">
{%- if hasdoc(pagename) and display_vcs_links %}
{%- if display_github %}
{%- if check_meta and 'github_url' in meta %}
<!-- User defined GitHub URL -->
<a href="{{ meta['github_url'] }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
{%- else %}
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
{%- endif %}
{%- elif display_bitbucket %}
{%- if check_meta and 'bitbucket_url' in meta %}
<!-- User defined Bitbucket URL -->
<a href="{{ meta['bitbucket_url'] }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
{%- else %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}?mode={{ theme_vcs_pageview_mode or "view" }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
{%- endif %}
{%- elif display_gitlab %}
{%- if check_meta and 'gitlab_url' in meta %}
<!-- User defined GitLab URL -->
<a href="{{ meta['gitlab_url'] }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
{%- else %}
<a href="https://{{ gitlab_host|default("gitlab.com") }}/{{ gitlab_user }}/{{ gitlab_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ gitlab_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
{%- endif %}
{%- elif show_source and source_url_prefix %}
<a href="{{ source_url_prefix }}{{ pagename }}{{ page_source_suffix }}">{{ _('View page source') }}</a>
{%- elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> {{ _('View page source') }}</a>
{%- endif %}
{%- endif %}
</li>
{%- endblock %}
</ul>
{%- if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
<div class="rst-breadcrumbs-buttons" role="navigation" aria-label="{{ _('Breadcrumbs') }}">
{%- if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
{%- endif %}
{%- if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
{%- endif %}
</div>
{%- endif %}
<hr/>
</div>

View File

@@ -1,61 +0,0 @@
<footer>
{%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
<div class="rst-footer-buttons" role="navigation" aria-label="{{ _('Footer') }}">
{%- if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
{%- endif %}
{%- if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
{%- endif %}
</div>
{%- endif %}
<hr/>
<div role="contentinfo">
{%- block contentinfo %}
<p>
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{%- trans path=pathto('copyright'), copyright=copyright|e %}&#169; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{%- trans copyright=copyright|e %}&#169; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
{%- if build_id and build_url %}
<span class="build">
{#- Translators: Build is a noun, not a verb -#}
{%- trans %}Build{% endtrans -%}
<a href="{{ build_url }}">{{ build_id }}</a>.
</span>
{%- elif commit %}
<span class="commit">
{#- Translators: the phrase "revision" comes from Git, referring to a commit #}
{%- trans %}Revision{% endtrans %} <code>{{ commit }}</code>.
</span>
{%- endif %}
{%- if last_updated %}
<span class="lastupdated">
{%- trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
</span>
{%- endif -%}
</p>
{%- endblock %}
</div>
{% if show_sphinx %}
{%- set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %}
{%- set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %}
{#- Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #}
{%- trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %}
{#- Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #}
<a href="https://github.com/readthedocs/sphinx_rtd_theme">{% trans %}theme{% endtrans %}</a>
{#- Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #}
{%- trans %}provided by {{ readthedocs_web }}{% endtrans %}.
{% endif %}
{%- block extrafooter %} {% endblock %}
</footer>

View File

@@ -1,241 +0,0 @@
{# TEMPLATE VAR SETTINGS #}
{%- set url_root = pathto('', 1) %}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' -%}
<!DOCTYPE html>
<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" >
<head>
<meta charset="utf-8" />
{{- metatags }}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{%- block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{%- endblock -%}
{#- CSS #}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- for css in css_files %}
{%- if css|attr("rel") %}
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
{%- else %}
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
{%- endif %}
{%- endfor %}
{%- for cssfile in extra_css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{%- endfor -%}
{#- FAVICON #}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif -%}
{#- CANONICAL URL (deprecated) #}
{%- if theme_canonical_url and not pageurl %}
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
{%- endif -%}
{#- CANONICAL URL #}
{%- if pageurl %}
<link rel="canonical" href="{{ pageurl|e }}" />
{%- endif -%}
{#- JAVASCRIPTS #}
{%- block scripts %}
<!--[if lt IE 9]>
<script src="{{ pathto('_static/js/html5shiv.min.js', 1) }}"></script>
<![endif]-->
{%- if not embedded %}
{# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #}
{%- if sphinx_version >= "1.8.0" -%}
<script type="text/javascript" id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
{%- for scriptfile in script_files %}
{{ js_tag(scriptfile) }}
{%- endfor %}
{%- else %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
LANGUAGE:'{{ language }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }},
SOURCELINK_SUFFIX: '{{ sourcelink_suffix }}'
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- endif %}
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
{#- OPENSEARCH #}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- endif %}
{%- endblock %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body class="wy-body-for-nav">
{%- block extrabody %} {% endblock %}
<div class="wy-grid-for-nav">
{#- SIDE NAV, TOGGLES ON MOBILE #}
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" {% if theme_style_nav_header_background %} style="background: {{theme_style_nav_header_background}}" {% endif %}>
{%- block sidebartitle %}
{%- if logo and theme_logo_only %}
<a href="{{ pathto(master_doc) }}">
{%- else %}
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
{%- endif %}
{%- if logo %}
{#- Not strictly valid HTML, but it's the only way to display/scale
it properly, without weird scripting or heaps of work
#}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="{{ _('Logo') }}"/>
{%- endif %}
</a>
{%- if theme_display_version %}
{%- set nav_version = version %}
{%- if READTHEDOCS and current_version %}
{%- set nav_version = current_version %}
{%- endif %}
{%- if nav_version %}
<div class="version">
{{ nav_version }}
</div>
{%- endif %}
{%- endif %}
{%- include "searchbox.html" %}
{%- endblock %}
</div>
{%- block navigation %}
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="{{ _('Main') }}">
{%- block menu %}
{%- set toctree = toctree(maxdepth=theme_navigation_depth|int,
collapse=theme_collapse_navigation|tobool,
includehidden=theme_includehidden|tobool,
titles_only=theme_titles_only|tobool) %}
{%- if toctree %}
{{ toctree }}
{%- else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{%- endif %}
{%- endblock %}
</div>
{%- endblock %}
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{#- MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top" aria-label="{{ _('Top') }}">
{%- block mobile_nav %}
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
{%- endblock %}
</nav>
<div class="wy-nav-content">
{%- block content %}
{%- if theme_style_external_links|tobool %}
<div class="rst-content style-external-links">
{%- else %}
<div class="rst-content">
{%- endif %}
{% include "breadcrumbs.html" %}
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
{%- block document %}
<div itemprop="articleBody">
{% block body %}{% endblock %}
</div>
{%- if self.comments()|trim %}
<div class="articleComments">
{%- block comments %}{% endblock %}
</div>
{%- endif%}
</div>
{%- endblock %}
{% include "footer.html" %}
</div>
{%- endblock %}
</div>
</section>
</div>
{% include "versions.html" -%}
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable({{ 'true' if theme_sticky_navigation|tobool else 'false' }});
});
</script>
{#- Do not conflict with RTD insertion of analytics script #}
{%- if not READTHEDOCS %}
{%- if theme_analytics_id %}
<!-- Theme Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ theme_analytics_id }}', 'auto');
{%- if theme_analytics_anonymize_ip|tobool %}
ga('set', 'anonymizeIp', true);
{%- endif %}
ga('send', 'pageview');
</script>
{%- endif %}
{%- endif %}
{%- block footer %} {% endblock %}
</body>
</html>

View File

@@ -1,142 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Tom Kunze <transifex.com@tomabrafix.de>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Tom Kunze <transifex.com@tomabrafix.de>, 2019\n"
"Language-Team: German (https://www.transifex.com/readthedocs/teams/101354/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Auf GitHub bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Auf Bitbucket bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Auf GitLab bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Quelltext anzeigen"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Weiter"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Zurück"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Build"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Zuletzt aktualisiert am %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Erstellt mit %(sphinx_web)s mit einem"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "bereitgestellt von %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "%(docstitle)s durchsuchen"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Über diese Dokumentation"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Suche"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Bitte aktiviere JavaScript, um die Suchfunktion zu nutzen."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Suchergebnisse"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Es wurden keine mit deiner Suchanfrage übereinstimmenden Dokumente gefunden."
" Achte darauf, dass alle Wörter richtig geschrieben sind und dass genug "
"Kategorien ausgewählt sind."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Dokumentation durchsuchen"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versionen"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Auf Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projektübersicht"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Builds"
#~ msgid "Docs"
#~ msgstr "Dokumentation"
#~ msgid "Free document hosting provided by"
#~ msgstr "Kostenloses Dokumentationen-Hosting zur Verfügung gestellt von"

View File

@@ -1,164 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 15:43-0600\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr ""
#: sphinx_rtd_theme/footer.html:20
#, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr ""
#: sphinx_rtd_theme/footer.html:22
#, python-format
msgid "&#169; Copyright %(copyright)s."
msgstr ""
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr ""
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr ""
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr ""
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr ""
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr ""
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr ""
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr ""
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr ""
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr ""
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr ""
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr ""
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words "
"are spelled correctly and that you've selected enough categories."
msgstr ""
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr ""
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr ""
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr ""
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr ""
#~ msgid "Docs"
#~ msgstr ""
#~ msgid "Free document hosting provided by"
#~ msgstr ""
#~ msgid "Documentation Home"
#~ msgstr ""

View File

@@ -1,162 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2019
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020\n"
"Language-Team: Spanish (https://www.transifex.com/readthedocs/teams/101354/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editar en GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editar en Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editar en GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Ver código fuente de la página"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Siguiente"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Anterior"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Construido"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisión"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Actualizado por última vez en %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Construido con %(sphinx_web)s usando un"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "proporcionado por %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Buscar en %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Sobre esta documentación"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Índice"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Búsqueda"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Derechos de autor"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logotipo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Por favor, active JavaScript para habilitar la funcionalidad de búsqueda."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Resultados de la búsqueda"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Su búsqueda no coincide con ningún documento. Por favor, asegúrese de que "
"todas las palabras estén correctamente escritas y que usted haya "
"seleccionado las suficientes categorías."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Buscar documentos"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versiones"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Descargas"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "En Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Página de Proyecto"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Construcciones"
#~ msgid "Docs"
#~ msgstr "Documentos"
#~ msgid "Free document hosting provided by"
#~ msgstr "Alojamiento gratuito de documentos proporcionado por"
#~ msgid "Documentation Home"
#~ msgstr "Inicio de Documentación"

View File

@@ -1,153 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2020
# Ivar Smolin <okul@linux.ee>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Ivar Smolin <okul@linux.ee>, 2020\n"
"Language-Team: Estonian (https://www.transifex.com/readthedocs/teams/101354/et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Muuda GitHubis"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Muuda Bitbucketis"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Muuda GitLabis"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Vaata lehe lähtekoodi"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Järgmine"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Eelmine"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Ehitus"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Redaktsioon"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Viimati uuendatud %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Ehitatud %(sphinx_web)s'iga,"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "kujundusteema"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Otsi dokumendist %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Nende dokumentide kirjeldused"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Indeks"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Otsing"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Autoriõigus"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Otsimisfunktsiooni lubamiseks aktiveeri palun JavaScript"
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Otsingu tulemused"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Sinu otsingule ei vastanud ükski dokument. Palun veendu, et kõik sisestatud "
"sõnad on õigesti kirjutatud ja sa oled valikud piisaval hulgal kategooriaid."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Otsi dokumente"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versioonid"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Allalaadimised"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Saidil Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projekti kodu"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Ehitused"
#~ msgid "Docs"
#~ msgstr "Dokumendid"
#~ msgid "Free document hosting provided by"
#~ msgstr "Dokumentatsiooni majutab tasuta"
#~ msgid "Documentation Home"
#~ msgstr "Dokumentatsiooni kodu"

View File

@@ -1,153 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Radina Matic <radina.matic@gmail.com>, 2020
# Anthony <aj@ohess.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Anthony <aj@ohess.org>, 2020\n"
"Language-Team: French (https://www.transifex.com/readthedocs/teams/101354/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Éditer sur GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Éditer sur Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Éditer sur GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Afficher la source de la page"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Suivant"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Précédent"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Compilation"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Révision"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Dernière mise à jour le %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Compilé avec %(sphinx_web)s en utilisant un"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "thème"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "fourni par %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Rechercher dans %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "À propos de cette documentation"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Rechercher"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Droits d'auteur"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Activez JavaScript pour accéder à la fonction de recherche."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Résultats de la recherche"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Votre recherche ne correspond à aucun document. Assurez-vous que tous les "
"mots sont correctement orthographiés et que vous avez sélectionné "
"suffisamment de catégories."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Rechercher docs"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versions"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Téléchargements"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Accueil du projet"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Compilations"
#~ msgid "Docs"
#~ msgstr "Docs"
#~ msgid "Free document hosting provided by"
#~ msgstr "Hébergement gratuit de documents fourni par"

View File

@@ -1,156 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Jesse Tan, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Jesse Tan, 2019\n"
"Language-Team: Dutch (https://www.transifex.com/readthedocs/teams/101354/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Bewerk op GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Bewerk op BitBucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Bewerk op GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Bekijk paginabron"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Volgende"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Vorige"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Bouwresultaat"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisie"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Laatste update op %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Gebouwd met %(sphinx_web)s met een"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "thema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "geleverd door %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Zoek binnen %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Over deze documenten"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Zoek"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Zet JavaScript aan om de zoekfunctie mogelijk te maken."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Zoekresultaten"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Zoekpoging vond geen documenten. Zorg ervoor dat alle woorden correct zijn "
"gespeld en dat voldoende categorieën zijn geselecteerd."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Zoek in documentatie"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versies"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Downloads"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Op Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Project Home"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Bouwresultaten"
#~ msgid "Docs"
#~ msgstr "Documentatie"
#~ msgid "Free document hosting provided by"
#~ msgstr "Gratis hosting voor documentatie verzorgd door"

View File

@@ -1,158 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Rafael Fontenelle <rffontenelle@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2020\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/readthedocs/teams/101354/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editar no GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editar no Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editar no GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Ver código-fonte da página"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Próximo"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Anterior"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Compilação"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisão"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Última atualização em %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Compilado com %(sphinx_web)s usando um"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "fornecido por %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Pesquisar em %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Sobre esses documentos"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Índice"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Pesquisar"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Por favor, ative JavaScript para habilitar a funcionalidade de pesquisa."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Resultados da pesquisa"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"A sua pesquisa não encontrou nenhum documento correspondente. Verifique se "
"todas as palavras estão escritas corretamente e se você selecionou "
"categorias suficientes."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Pesquisar documentos"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versões"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Downloads"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "No Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Página inicial"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Compilações"
#~ msgid "Docs"
#~ msgstr "Docs"
#~ msgid "Free document hosting provided by"
#~ msgstr "Hospedagem de documentos livres fornecida por"

View File

@@ -1,157 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Dmitry Shachnev <mitya57@gmail.com>, 2019
# lvv83 <vlozhkin83@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: lvv83 <vlozhkin83@gmail.com>, 2019\n"
"Language-Team: Russian (https://www.transifex.com/readthedocs/teams/101354/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Редактировать на GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Редактировать на BitBucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Редактировать на GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Просмотреть исходный код страницы"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Следующая"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Предыдущая"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Сборка"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Ревизия"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Последний раз обновлено %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Собрано при помощи %(sphinx_web)s с использованием"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "темы,"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "предоставленной %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Поиск в %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Об этих документах"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Алфавитный указатель"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Поиск"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Авторские права"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Логотип"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Активируйте JavaScript, чтобы использовать функционал поиска."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Результаты поиска"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"По Вашему запросу не найдено результатов. Пожалуйста, проверьте, что все "
"слова написаны правильно, и Вы выбрали нужные категории."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Поиск в документации"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Версии"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Загрузки"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "На Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Домашняя страница проекта"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Сборки"
#~ msgid "Docs"
#~ msgstr "Документация"
#~ msgid "Free document hosting provided by"
#~ msgstr "Бесплатный хостинг документов, предоставленный"

View File

@@ -1,154 +0,0 @@
# Translations template for sphinx_rtd_theme.
# Copyright (C) 2021 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.5.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr ""
#: sphinx_rtd_theme/footer.html:20
#, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr ""
#: sphinx_rtd_theme/footer.html:22
#, python-format
msgid "&#169; Copyright %(copyright)s."
msgstr ""
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr ""
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr ""
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr ""
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr ""
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr ""
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr ""
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr ""
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr ""
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr ""
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr ""
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr ""
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words "
"are spelled correctly and that you've selected enough categories."
msgstr ""
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr ""
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr ""
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr ""
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr ""

View File

@@ -1,156 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020\n"
"Language-Team: Swedish (https://www.transifex.com/readthedocs/teams/101354/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editera på GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editera på Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editera på GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Visa sidkälla"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Nästa"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Tillbaka"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Bygg"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Ändra"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Senast uppdaterad %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Gjord med %(sphinx_web)s med hjälp av"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "erhållet av %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Sök i %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Om dessa dokument"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Sök"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Upphovsrätt"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Var vänlig och aktivera JavaScript för att möjliggöra sökfunktionaliteten."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Sökresultat"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Din sökning gav inga träffar. Var vänlig och se till att alla ord är rätt "
"stavade och att du har valt tillräckligt många kategorier."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Sök i dokumentationen"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versioner"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Nerladdningar"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "På Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projekt Hem"
#~ msgid "Docs"
#~ msgstr "Dokumentation"
#~ msgid "Free document hosting provided by"
#~ msgstr "Gratis dokumentations hysning erhållen av"
#~ msgid "Documentation Home"
#~ msgstr "Dokumentation Hem"

View File

@@ -1,146 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# BouRock, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: BouRock, 2020\n"
"Language-Team: Turkish (https://www.transifex.com/readthedocs/teams/101354/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "GitHub'da Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Bitbucket'ta Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "GitLab'ta Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Sayfa kaynağını görüntüle"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Sonraki"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Önceki"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Oluşturma"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Gözden geçirme"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Son olarak %(last_updated)s tarihinde güncellendi."
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "kullanılarak %(readthedocs_web)s tarafından sağlanmasıyla oluşturuldu"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "%(docstitle)s içinde ara"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Bu belgeler hakkında"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Dizin"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Arama"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Telif hakkı"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Arama işlevselliğini etkinleştirmek için lütfen JavaScript'i etkinleştirin."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Arama Sonuçları"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Aramanız hiçbir belgeyle eşleşmedi. Lütfen tüm kelimelerin doğru "
"yazıldığından ve yeterli kategori seçtiğinizden emin olun."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Belgeleri arayın"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Sürümler"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "İndirmeler"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Read the Docs Üzerinde"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Proje Ana Sayfa"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Oluşturmalar"
#~ msgid "Free document hosting provided by"
#~ msgstr "Ücretsiz belge barındırmayı sağlayan"

View File

@@ -1,150 +0,0 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2020
# 王赛 <wangsai@bootcss.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: 王赛 <wangsai@bootcss.com>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/readthedocs/teams/101354/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "在 GitHub 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "在 Bitbucket 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "在 GitLab 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "查看页面源码"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "下一页"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "上一页"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "构建"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "最后更新时间 %(last_updated)s。"
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "利用 %(sphinx_web)s 构建,使用了 "
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "主题"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "由 %(readthedocs_web)s开发"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "在 %(docstitle)s中搜索"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "关于此文档"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "索引"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "搜索"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "版权所有"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "请启用 JavaScript 以便使用搜索功能"
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "搜索结果"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr "您的搜索没有匹配到任何文档。请确保所有单词拼写正确,并选择了足够多的类别。"
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "在文档中搜索"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "版本列表"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "下载链接"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "托管于 Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "项目首页"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "构建"
#~ msgid "Docs"
#~ msgstr "文档"
#~ msgid "Free document hosting provided by"
#~ msgstr "此文档免费托管于"

View File

@@ -1,22 +0,0 @@
{% extends "!page.html" %}
{% block body %}
{% if current_version and latest_version and current_version != latest_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<p>
<strong>
{% if current_version.is_released %}
You're reading an old version of this documentation.
If you want up-to-date information, please have a look at <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
{% else %}
You're reading the documentation for a development version.
For the latest released version, please have a look at <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
{% endif %}
</strong>
</p>
{% endif %}
{{ super() }}
{% endblock %}%

View File

@@ -1,56 +0,0 @@
{#
basic/search.html
~~~~~~~~~~~~~~~~~
Template for the search page.
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
:license: BSD, see https://github.com/sphinx-doc/sphinx/blob/master/LICENSE for details.
#}
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set display_vcs_links = False %}
{%- block scripts %}
{{ super() }}
<script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/language_data.js', 1) }}"></script>
{%- endblock %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>
{# this is used when loading the search index using $.ajax fails,
such as on Chrome for documents on localhost #}
<script type="text/javascript" id="searchindexloader"></script>
{{ super() }}
{% endblock %}
{% block body %}
<noscript>
<div id="fallback" class="admonition warning">
<p class="last">
{% trans trimmed %}Please activate JavaScript to enable the search
functionality.{% endtrans %}
</p>
</div>
</noscript>
{% if search_performed %}
{# Translators: Search is a noun, not a verb #}
<h2>{{ _('Search Results') }}</h2>
{% if not search_results %}
<p>{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}</p>
{% endif %}
{% endif %}
<div id="search-results">
{% if search_results %}
<ul>
{% for href, caption, context in search_results %}
<li>
<a href="{{ pathto(item.href) }}">{{ caption }}</a>
<p class="context">{{ context|e }}</p>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endblock %}

View File

@@ -1,9 +0,0 @@
{%- if 'singlehtml' not in builder %}
<div role="search">
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="{{ _('Search docs') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
{%- endif %}

View File

@@ -1 +0,0 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 434 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});

View File

@@ -1 +0,0 @@
!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current");var t=e.find("> ul li");t.length&&(t.removeClass("current"),e.toggleClass("current"))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);

View File

@@ -1,20 +0,0 @@
[theme]
inherit = basic
stylesheet = css/theme.css
pygments_style = default
[options]
canonical_url =
analytics_id =
analytics_anonymize_ip = False
collapse_navigation = True
sticky_navigation = True
navigation_depth = 4
includehidden = True
titles_only =
logo_only =
display_version = True
prev_next_buttons_location = bottom
style_external_links = False
style_nav_header_background =
vcs_pageview_mode =

View File

@@ -1,27 +0,0 @@
{%- if current_version %}
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Other Versions</span>
v: {{ current_version.name }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
{%- if versions.tags %}
<dl>
<dt>Tags</dt>
{%- for item in versions.tags %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
{%- if versions.branches %}
<dl>
<dt>Branches</dt>
{%- for item in versions.branches %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
</div>
</div>
{%- endif %}

View File

@@ -1,32 +0,0 @@
{%- if current_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Other Versions</span>
v: {{ current_version.name }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
{%- if versions.tags %}
<dl>
<dt>Tags</dt>
{%- for item in versions.tags %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
{%- if versions.branches %}
<dl>
<dt>Branches</dt>
{%- for item in versions.branches %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
</div>
</div>
{%- endif %}

View File

@@ -1,82 +0,0 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'iTop UI'
copyright = '2022, Combodo'
author = 'Combodo'
# The full version, including alpha/beta/rc tags
release = 'iTop 3.1.0'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autosectionlabel', 'myst_parser', 'sphinx_multiversion']
autosectionlabel_prefix_document = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
#source_suffix = ['.rst', '.md']
#source_suffix = '.rst'
source_suffix = {
'.rst': 'restructuredtext',
'.txt': 'markdown',
'.md': 'markdown',
}
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
highlight_language = 'php'
highlight_options = {
'php': {'startinline': True}
}
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_logo = "img/itop-logo.png"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_css_files = [
'css/ui-doc.css',
]
master_doc = 'index'
html_copy_source = False

View File

@@ -1,284 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Alert:
Alert
=====
Alerts are the main component to give feedback to the user or communicate page specific to system wide messages.
Alerts are a rectangular component displaying a title and a message.
----
.. include:: /manual/Component/Alert/AlertAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIAlert**
:Syntax:
.. code-block:: twig
{% UIAlert Type {Parameters} %}
Content Goes Here
{% EndUIAlert %}
:Type:
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`Neutral <AlertNeutral>` | Make a basis Alert component |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForInformation <AlertForInformation>` | Make an Alert component for informational messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForSuccess <AlertForSuccess>` | Make an Alert component for successful messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForWarning <AlertForWarning>` | Make an Alert component for warning messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForDanger <AlertForDanger>` | Make an Alert component for danger messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForFailure <AlertForFailure>` | Make an Alert component for failure messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`WithBrandingPrimaryColor <AlertWithBrandingPrimaryColor>` | Make an Alert component with primary color scheme |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`WithBrandingSecondaryColor <AlertWithBrandingSecondaryColor>` | Make an Alert component with secondary color scheme |
+---------------------------------------------------------------------+-----------------------------------------------------+
.. _AlertNeutral:
Alert Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert Neutral {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForInformation:
Alert ForInformation
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForInformation {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForSuccess:
Alert ForSuccess
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForSuccess {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForWarning:
Alert ForWarning
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForWarning {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForDanger:
Alert ForDanger
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForDanger {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForFailure:
Alert ForFailure
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForFailure {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertWithBrandingPrimaryColor:
Alert WithBrandingPrimaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert WithBrandingPrimaryColor {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertWithBrandingSecondaryColor:
Alert WithBrandingSecondaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert WithBrandingSecondaryColor {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
Alert common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------------------+
| Color | string | Color of the alert (check CSS classes ibo-is-<color> for colors) |
+-----------------------------+----------+------------------------------------------------------------------------+
| Content | string | The raw HTML content, must be already sanitized |
+-----------------------------+----------+------------------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsClosable | bool | Indicates if the user can remove the alert from the screen |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsCollapsible | bool | Indicates if the user can collapse the alert to display only the title |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------------------+
| OpenedByDefault | bool | Indicates if the alert is collapsed or not by default |
+-----------------------------+----------+------------------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| Title | string | Title of the alert |
+-----------------------------+----------+------------------------------------------------------------------------+
----
.. include:: /manual/Component/Alert/AlertFooter.rst

View File

@@ -1,480 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Button:
Button
======
Class Button
----
.. include:: /manual/Component/Button/ButtonAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIButton**
:Syntax:
.. code-block:: twig
{% UIButton Type {Parameters} %}
:Type:
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Neutral <ButtonNeutral>` | Make a basis Button component for any purpose |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPrimaryAction <ButtonForPrimaryAction>` | Make a Button component for a primary action, should be used to tell the user this is the main choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForSecondaryAction <ButtonForSecondaryAction>` | Make a Button component for a secondary action, should be used to tell the user this is an second hand choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPositiveAction <ButtonForPositiveAction>` | Make a Button component for a success action, should be used to tell the user he/she going to make a positive action/choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForDestructiveAction <ButtonForDestructiveAction>` | Make a Button component for a destructive action, should be used to tell the user he/she going to make something that cannot be |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AlternativeNeutral <ButtonAlternativeNeutral>` | Make a basis Button component for any purpose |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativePrimaryAction <ButtonForAlternativePrimaryAction>` | Make a Button component for an alternative primary action, should be used to avoid the user to consider this action as the first |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeSecondaryAction <ButtonForAlternativeSecondaryAction>` | Make a Button component for an alternative secondary action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeValidationAction <ButtonForAlternativeValidationAction>` | Make a Button component for a validation action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeDestructiveAction <ButtonForAlternativeDestructiveAction>` | Make a Button component for a destructive action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForCancel <ButtonForCancel>` | Make a Button component for a cancel, should be used only for UI navigation, not destructive action |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`IconAction <ButtonIconAction>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`LinkNeutral <ButtonLinkNeutral>` | Make a link Button component to open an URL instead of triggering a form action |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`IconLink <ButtonIconLink>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`DestructiveIconLink <ButtonDestructiveIconLink>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
.. _ButtonNeutral:
Button Neutral
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton Neutral {sLabel:'value', sName:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+----------------------------+
| sLabel | string | mandatory | | |
+--------+--------+-----------+------+----------------------------+
| sName | string | optional | NULL | See {@link Button::$sName} |
+--------+--------+-----------+------+----------------------------+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+----------------------------+
.. _ButtonForPrimaryAction:
Button ForPrimaryAction
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForPrimaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForSecondaryAction:
Button ForSecondaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForSecondaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForPositiveAction:
Button ForPositiveAction
^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForPositiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForDestructiveAction:
Button ForDestructiveAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForDestructiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonAlternativeNeutral:
Button AlternativeNeutral
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton AlternativeNeutral {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativePrimaryAction:
Button ForAlternativePrimaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativePrimaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeSecondaryAction:
Button ForAlternativeSecondaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeSecondaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeValidationAction:
Button ForAlternativeValidationAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeValidationAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeDestructiveAction:
Button ForAlternativeDestructiveAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeDestructiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForCancel:
Button ForCancel
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForCancel {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+----------+-------+---------------------+
| sLabel | string | optional | NULL | |
+-----------+--------+----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+----------+-------+---------------------+
.. _ButtonIconAction:
Button IconAction
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton IconAction {sIconClasses:'value', sTooltipText:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+--------------+--------+-----------+-------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+-------+--+
| sTooltipText | string | optional | '' | |
+--------------+--------+-----------+-------+--+
| sName | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
| sValue | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
| bIsSubmit | bool | optional | false | |
+--------------+--------+-----------+-------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
.. _ButtonLinkNeutral:
Button LinkNeutral
^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton LinkNeutral {sURL:'value', sLabel:'value', sIconClasses:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sURL | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sLabel | string | optional | '' | |
+--------------+--------+-----------+------+--+
| sIconClasses | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
.. _ButtonIconLink:
Button IconLink
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton IconLink {sIconClasses:'value', sTooltipText:'value', sURL:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sTooltipText | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sURL | string | optional | '' | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
.. _ButtonDestructiveIconLink:
Button DestructiveIconLink
^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton DestructiveIconLink {sIconClasses:'value', sTooltipText:'value', sURL:'value', sName:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sTooltipText | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sURL | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sName | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
Button common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| ActionType | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| Color | string | |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IconClass | string | |
+-----------------------------+--------+------------------------------------------------------------+
| IsDisabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| JsCode | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+--------+------------------------------------------------------------+
| OnClickJsCode | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Tooltip | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Button/ButtonFooter.rst

View File

@@ -1,88 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _ButtonGroup:
ButtonGroup
===========
Class ButtonGroup
----
.. include:: /manual/Component/ButtonGroup/ButtonGroupAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIButtonGroup**
:Syntax:
.. code-block:: twig
{% UIButtonGroup Type {Parameters} %}
:Type:
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
| :ref:`ButtonWithOptionsMenu <ButtonGroupButtonWithOptionsMenu>` | Make a button that has a primary action ($oButton) but also an options menu ($oMenu) on the side |
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
.. _ButtonGroupButtonWithOptionsMenu:
ButtonGroup ButtonWithOptionsMenu
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButtonGroup ButtonWithOptionsMenu {oButton:value, oMenu:value} %}
:parameters:
+---------+-------------+-----------+--+--+
| oButton | Button | mandatory | | |
+---------+-------------+-----------+--+--+
| oMenu | PopoverMenu | mandatory | | |
+---------+-------------+-----------+--+--+
ButtonGroup common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddButton | Button | |
+-----------------------------+----------+------------------------------------------------------------+
| AddButtons | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddExtraBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| Buttons | array | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/ButtonGroup/ButtonGroupFooter.rst

View File

@@ -1,96 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _CollapsibleSection:
CollapsibleSection
==================
Class CollapsibleSection
----
.. include:: /manual/Component/CollapsibleSection/CollapsibleSectionAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UICollapsibleSection**
:Syntax:
.. code-block:: twig
{% UICollapsibleSection Type {Parameters} %}
Content Goes Here
{% EndUICollapsibleSection %}
:Type:
+----------------------------------------------+-----------------------+
| :ref:`Standard <CollapsibleSectionStandard>` | @param string $sTitle |
+----------------------------------------------+-----------------------+
.. _CollapsibleSectionStandard:
CollapsibleSection Standard
^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UICollapsibleSection Standard {sTitle:'value', sId:'value'} %}
Content Goes Here
{% EndUICollapsibleSection %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
CollapsibleSection common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| OpenedByDefault | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/CollapsibleSection/CollapsibleSectionFooter.rst

View File

@@ -1,33 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Components:
UI Components
=============
A UI component is a unitary block used to display information in iTop console.
.. toctree::
:maxdepth: 1
:caption: Components:
Alert/Alert
Button/Button
ButtonGroup/ButtonGroup
CollapsibleSection/CollapsibleSection
DataTable/DataTable
Field/Field
FieldBadge/FieldBadge
FieldSet/FieldSet
Form/Form
Input/FileSelect/FileSelect
Input/Input
Input/Select/Select
Input/Select/SelectOption
Panel/Panel
Spinner/Spinner
Template/Template
Title/Title
Toolbar/Toolbar
Toolbar/ToolbarSpacer/ToolbarSpacer

View File

@@ -1,276 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _DataTable:
DataTable
=========
Class DataTable
----
.. include:: /manual/Component/DataTable/DataTableAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIDataTable**
:Syntax:
.. code-block:: twig
{% UIDataTable Type {Parameters} %}
Content Goes Here
{% EndUIDataTable %}
:Type:
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForResult <DataTableForResult>` | @param \WebPage $oPage |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForObject <DataTableForObject>` | @param \WebPage $oPage |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ActionRowToolbarTemplate <DataTableActionRowToolbarTemplate>` | Make a row actions toolbar template. |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForRendering <DataTableForRendering>` | Make a basis Panel component |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForRenderingObject <DataTableForRenderingObject>` | @param string $sListId |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForStaticData <DataTableForStaticData>` | @param string $sTitle |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForForm <DataTableForForm>` | @param string $sRef |
+---------------------------------------------------------------------+--------------------------------------+
.. _DataTableForResult:
DataTable ForResult
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForResult {oPage:value, sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| oPage | WebPage | mandatory | | |
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForObject:
DataTable ForObject
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForObject {oPage:value, sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| oPage | WebPage | mandatory | | |
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableActionRowToolbarTemplate:
DataTable ActionRowToolbarTemplate
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ActionRowToolbarTemplate {oTable:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------+----------+-----------+--+-----------------------------------------------------------+
| oTable | iUIBlock | mandatory | | datatable object that needs to use tTableRowActions trait |
+--------+----------+-----------+--+-----------------------------------------------------------+
.. _DataTableForRendering:
DataTable ForRendering
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForRendering {sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForRenderingObject:
DataTable ForRenderingObject
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForRenderingObject {sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForStaticData:
DataTable ForStaticData
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForStaticData {sTitle:'value', aColumns:{name:value, name:value}, aData:{name:value, name:value}, sId:'value', aExtraParams:{name:value, name:value}, sFilter:'value', aOptions:{name:value, name:value}, aRowActions:{name:value, name:value}} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+--------+-----------+----------+--------------+
| sTitle | string | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| aColumns | array | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| aData | array | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| sId | string | optional | NULL | |
+--------------+--------+-----------+----------+--------------+
| aExtraParams | array | optional | array () | |
+--------------+--------+-----------+----------+--------------+
| sFilter | string | optional | '' | |
+--------------+--------+-----------+----------+--------------+
| aOptions | array | optional | array () | |
+--------------+--------+-----------+----------+--------------+
| aRowActions | array | optional | NULL | @since 3.1.0 |
+--------------+--------+-----------+----------+--------------+
.. _DataTableForForm:
DataTable ForForm
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForForm {sRef:'value', aColumns:{name:value, name:value}, aData:{name:value, name:value}, sFilter:'value', aRowActions:{name:value, name:value}} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+-------------+--------+-----------+----------+--------------+
| sRef | string | mandatory | | |
+-------------+--------+-----------+----------+--------------+
| aColumns | array | mandatory | | |
+-------------+--------+-----------+----------+--------------+
| aData | array | optional | array () | |
+-------------+--------+-----------+----------+--------------+
| sFilter | string | optional | '' | |
+-------------+--------+-----------+----------+--------------+
| aRowActions | array | optional | NULL | @since 3.1.0 |
+-------------+--------+-----------+----------+--------------+
DataTable common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AjaxData | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AjaxUrl | string | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| DisplayColumns | | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| InitDisplayData | array | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| JSRefresh | string | |
+-----------------------------+----------+------------------------------------------------------------+
| Options | | |
+-----------------------------+----------+------------------------------------------------------------+
| ResultColumns | | |
+-----------------------------+----------+------------------------------------------------------------+
| RowActions | array | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/DataTable/DataTableFooter.rst

View File

@@ -1,220 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Field:
Field
=====
Class Field
----
.. include:: /manual/Component/Field/FieldAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIField**
:Syntax:
.. code-block:: twig
{% UIField Type {Parameters} %}
Content Goes Here
{% EndUIField %}
:Type:
+-------------------------------------+------------+
| :ref:`FromParams <FieldFromParams>` | No comment |
+-------------------------------------+------------+
| :ref:`FromObject <FieldFromObject>` | No comment |
+-------------------------------------+------------+
| :ref:`Large <FieldLarge>` | No comment |
+-------------------------------------+------------+
| :ref:`Small <FieldSmall>` | No comment |
+-------------------------------------+------------+
| :ref:`Standard <FieldStandard>` | No comment |
+-------------------------------------+------------+
.. _FieldFromParams:
Field FromParams
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField FromParams {aParams:value} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+--+-----------+--+--+
| aParams | | mandatory | | |
+---------+--+-----------+--+--+
.. _FieldFromObject:
Field FromObject
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField FromObject {sLabel:'value', oInput:value, sLayout:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+---------+-----------+------+--+
| sLabel | string | mandatory | | |
+---------+---------+-----------+------+--+
| oInput | UIBlock | mandatory | | |
+---------+---------+-----------+------+--+
| sLayout | string | optional | NULL | |
+---------+---------+-----------+------+--+
.. _FieldLarge:
Field Large
^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Large {sLabel:'value', sValueHtml:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+------------+--------+-----------+----+--+
| sLabel | string | mandatory | | |
+------------+--------+-----------+----+--+
| sValueHtml | string | optional | '' | |
+------------+--------+-----------+----+--+
.. _FieldSmall:
Field Small
^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Small {sLabel:'value', sValueHtml:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+------------+--------+-----------+----+--+
| sLabel | string | mandatory | | |
+------------+--------+-----------+----+--+
| sValueHtml | string | optional | '' | |
+------------+--------+-----------+----+--+
.. _FieldStandard:
Field Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Standard {sLabel:'value', sLayout:'value', sId:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+--------+----------+---------+--+
| sLabel | string | optional | '' | |
+---------+--------+----------+---------+--+
| sLayout | string | optional | 'small' | |
+---------+--------+----------+---------+--+
| sId | string | optional | NULL | |
+---------+--------+----------+---------+--+
Field common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AttCode | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AttLabel | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AttType | string | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| Comments | string | |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| InputId | string | |
+-----------------------------+----------+------------------------------------------------------------+
| InputType | string | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsMandatory | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsReadOnly | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsSlave | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+----------+------------------------------------------------------------+
| Layout | string | |
+-----------------------------+----------+------------------------------------------------------------+
| MustChange | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| MustPrompt | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| Value | UIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| ValueId | string | |
+-----------------------------+----------+------------------------------------------------------------+
| ValueRaw | string | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Field/FieldFooter.rst

View File

@@ -1,94 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FieldBadge:
FieldBadge
==========
Class FieldBadge
----
.. include:: /manual/Component/FieldBadge/FieldBadgeAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFieldBadge**
:Syntax:
.. code-block:: twig
{% UIFieldBadge Type {Parameters} %}
Content Goes Here
{% EndUIFieldBadge %}
:Type:
+--------------------------------------+-----------------------+
| :ref:`ForField <FieldBadgeForField>` | @param string $sValue |
+--------------------------------------+-----------------------+
.. _FieldBadgeForField:
FieldBadge ForField
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFieldBadge ForField {sValue:'value', oStyle:value} %}
Content Goes Here
{% EndUIFieldBadge %}
:parameters:
+--------+----------+-----------+--+--+
| sValue | string | mandatory | | |
+--------+----------+-----------+--+--+
| oStyle | ormStyle | mandatory | | |
+--------+----------+-----------+--+--+
FieldBadge common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/FieldBadge/FieldBadgeFooter.rst

View File

@@ -1,94 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FieldSet:
FieldSet
========
Class FieldSet
----
.. include:: /manual/Component/FieldSet/FieldSetAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFieldSet**
:Syntax:
.. code-block:: twig
{% UIFieldSet Type {Parameters} %}
Content Goes Here
{% EndUIFieldSet %}
:Type:
+------------------------------------+------------------------+
| :ref:`Standard <FieldSetStandard>` | @param string $sLegend |
+------------------------------------+------------------------+
.. _FieldSetStandard:
FieldSet Standard
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFieldSet Standard {sLegend:'value', sId:'value'} %}
Content Goes Here
{% EndUIFieldSet %}
:parameters:
+---------+--------+-----------+------+--+
| sLegend | string | mandatory | | |
+---------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+---------+--------+-----------+------+--+
FieldSet common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/FieldSet/FieldSetFooter.rst

View File

@@ -1,96 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Form:
Form
====
Class Form
----
.. include:: /manual/Component/Form/FormAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIForm**
:Syntax:
.. code-block:: twig
{% UIForm Type {Parameters} %}
Content Goes Here
{% EndUIForm %}
:Type:
+--------------------------------+-------------------------+
| :ref:`Standard <FormStandard>` | @param string|null $sId |
+--------------------------------+-------------------------+
.. _FormStandard:
Form Standard
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIForm Standard {sId:'value'} %}
Content Goes Here
{% EndUIForm %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
Form common parameters
^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| Action | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| OnSubmitJsCode | string | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Form/FormFooter.rst

View File

@@ -1,86 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FileSelect:
FileSelect
==========
Class FileSelect
----
.. include:: /manual/Component/Input/FileSelect/FileSelectAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFileSelect**
:Syntax:
.. code-block:: twig
{% UIFileSelect Type {Parameters} %}
:Type:
+--------------------------------------+----------------------+
| :ref:`Standard <FileSelectStandard>` | @param string $sName |
+--------------------------------------+----------------------+
.. _FileSelectStandard:
FileSelect Standard
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFileSelect Standard {sName:'value', sId:'value'} %}
:parameters:
+-------+--------+-----------+------+--+
| sName | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
FileSelect common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| ButtonText | string | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| FileName | | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| ShowFilename | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/FileSelect/FileSelectFooter.rst

View File

@@ -1,150 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Input:
Input
=====
Class Input
----
.. include:: /manual/Component/Input/InputAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIInput**
:Syntax:
.. code-block:: twig
{% UIInput Type {Parameters} %}
:Type:
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`ForHidden <InputForHidden>` | No comment |
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`Standard <InputStandard>` | No comment |
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`ForInputWithLabel <InputForInputWithLabel>` | @see Field component that is better adapter when dealing with a standard iTop form |
+---------------------------------------------------+------------------------------------------------------------------------------------+
.. _InputForHidden:
Input ForHidden
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput ForHidden {sName:'value', sValue:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+--+
| sName | string | mandatory | | |
+--------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _InputStandard:
Input Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput Standard {sType:'value', sName:'value', sValue:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+--+
| sType | string | mandatory | | |
+--------+--------+-----------+------+--+
| sName | string | mandatory | | |
+--------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _InputForInputWithLabel:
Input ForInputWithLabel
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput ForInputWithLabel {sLabel:'value', sInputName:'value', sInputValue:'value', sInputId:'value', sInputType:'value'} %}
:parameters:
+-------------+--------+-----------+--------+--+
| sLabel | string | mandatory | | |
+-------------+--------+-----------+--------+--+
| sInputName | string | mandatory | | |
+-------------+--------+-----------+--------+--+
| sInputValue | string | optional | NULL | |
+-------------+--------+-----------+--------+--+
| sInputId | string | optional | NULL | |
+-------------+--------+-----------+--------+--+
| sInputType | string | optional | 'type' | |
+-------------+--------+-----------+--------+--+
Input common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsChecked | | |
+-----------------------------+--------+------------------------------------------------------------+
| IsDisabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsReadonly | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | | |
+-----------------------------+--------+------------------------------------------------------------+
| Name | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Placeholder | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Type | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Value | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/InputFooter.rst

View File

@@ -1,133 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Select:
Select
======
Class Select
----
.. include:: /manual/Component/Input/Select/SelectAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISelect**
:Syntax:
.. code-block:: twig
{% UISelect Type {Parameters} %}
Content Goes Here
{% EndUISelect %}
:Type:
+------------------------------------------------------+------------------------------------+
| :ref:`ForSelect <SelectForSelect>` | Create a default Select input |
+------------------------------------------------------+------------------------------------+
| :ref:`ForSelectWithLabel <SelectForSelectWithLabel>` | Create a Select input with a label |
+------------------------------------------------------+------------------------------------+
.. _SelectForSelect:
Select ForSelect
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelect ForSelect {sName:'value', sId:'value'} %}
Content Goes Here
{% EndUISelect %}
:parameters:
+-------+--------+-----------+------+-------------------------+
| sName | string | mandatory | | Input name for the form |
+-------+--------+-----------+------+-------------------------+
| sId | string | optional | NULL | ID of the block |
+-------+--------+-----------+------+-------------------------+
.. _SelectForSelectWithLabel:
Select ForSelectWithLabel
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelect ForSelectWithLabel {sName:'value', sLabel:'value', sId:'value'} %}
Content Goes Here
{% EndUISelect %}
:parameters:
+--------+--------+-----------+------+-----------------------------------------------------+
| sName | string | mandatory | | Input name for the form |
+--------+--------+-----------+------+-----------------------------------------------------+
| sLabel | string | mandatory | | Label to display with the input (null for no label) |
+--------+--------+-----------+------+-----------------------------------------------------+
| sId | string | optional | NULL | ID of the block |
+--------+--------+-----------+------+-----------------------------------------------------+
Select common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddOption | SelectOption | Select option UIBlock |
+-----------------------------+--------------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+--------------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| Description | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+--------------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------------+------------------------------------------------------------+
| IsLabelBefore | bool | If true the label will be positioned before the input |
+-----------------------------+--------------+------------------------------------------------------------+
| IsMultiple | bool | Allow multiple selection |
+-----------------------------+--------------+------------------------------------------------------------+
| Label | string | Label to display with the input (null for no label) |
+-----------------------------+--------------+------------------------------------------------------------+
| Name | string | Input name for the form |
+-----------------------------+--------------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| SubmitOnChange | bool | if true submit the form as soon as a change is detected |
+-----------------------------+--------------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/Select/SelectFooter.rst

View File

@@ -1,92 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _SelectOption:
SelectOption
============
Class SelectOption
----
.. include:: /manual/Component/Input/Select/SelectOptionAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISelectOption**
:Syntax:
.. code-block:: twig
{% UISelectOption Type {Parameters} %}
:Type:
+------------------------------------------------------+------------+
| :ref:`ForSelectOption <SelectOptionForSelectOption>` | No comment |
+------------------------------------------------------+------------+
.. _SelectOptionForSelectOption:
SelectOption ForSelectOption
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelectOption ForSelectOption {sValue:'value', sLabel:'value', bSelected:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+------+--+
| bSelected | bool | mandatory | | |
+-----------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-----------+--------+-----------+------+--+
SelectOption common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| Disabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Selected | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Value | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/Select/SelectOptionFooter.rst

View File

@@ -1,320 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Panel:
Panel
=====
Class Panel
----
.. include:: /manual/Component/Panel/PanelAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIPanel**
:Syntax:
.. code-block:: twig
{% UIPanel Type {Parameters} %}
Content Goes Here
{% EndUIPanel %}
:Type:
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`Neutral <PanelNeutral>` | Make a basis Panel component |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForInformation <PanelForInformation>` | Make a Panel component for informational messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForSuccess <PanelForSuccess>` | Make a Panel component for successful messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForWarning <PanelForWarning>` | Make a Panel component for warning messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForDanger <PanelForDanger>` | Make a Panel component for danger messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForFailure <PanelForFailure>` | Make a Panel component for failure messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`WithBrandingPrimaryColor <PanelWithBrandingPrimaryColor>` | Make a Panel component with primary color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`WithBrandingSecondaryColor <PanelWithBrandingSecondaryColor>` | Make a Panel component with secondary color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForClass <PanelForClass>` | Make a Panel component with the specific $sClass color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
.. _PanelNeutral:
Panel Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel Neutral {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForInformation:
Panel ForInformation
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForInformation {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForSuccess:
Panel ForSuccess
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForSuccess {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForWarning:
Panel ForWarning
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForWarning {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForDanger:
Panel ForDanger
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForDanger {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForFailure:
Panel ForFailure
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForFailure {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelWithBrandingPrimaryColor:
Panel WithBrandingPrimaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel WithBrandingPrimaryColor {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelWithBrandingSecondaryColor:
Panel WithBrandingSecondaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel WithBrandingSecondaryColor {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForClass:
Panel ForClass
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForClass {sClass:'value', sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--------------------------------------+
| sClass | string | mandatory | | Class of the object the panel is for |
+-----------+--------+-----------+------+--------------------------------------+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--------------------------------------+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--------------------------------------+
Panel common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMainBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMainBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubTitleBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubTitleBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddTitleBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddTitleBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddToolbarBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddToolbarBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+-----------------+------------------------------------------------------------+
| CSSColorClass | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromClass | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromColorSemantic | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromOrmStyle | ormStyle | |
+-----------------------------+-----------------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+-----------------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsCollapsible | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsHeaderVisibleOnScroll | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| MainBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubTitle | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubTitleBlock | iUIContentBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| Title | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| TitleBlock | iUIContentBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ToolBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
----
.. include:: /manual/Component/Panel/PanelFooter.rst

View File

@@ -1,78 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Spinner:
Spinner
=======
Class Spinner
----
.. include:: /manual/Component/Spinner/SpinnerAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISpinner**
:Syntax:
.. code-block:: twig
{% UISpinner Type {Parameters} %}
:Type:
+-----------------------------------+------------+
| :ref:`Standard <SpinnerStandard>` | No comment |
+-----------------------------------+------------+
.. _SpinnerStandard:
Spinner Standard
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISpinner Standard {sId:'value'} %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
Spinner common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Spinner/SpinnerFooter.rst

View File

@@ -1,92 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Template:
Template
========
Class Template
----
.. include:: /manual/Component/Template/TemplateAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UITemplate**
:Syntax:
.. code-block:: twig
{% UITemplate Type {Parameters} %}
Content Goes Here
{% EndUITemplate %}
:Type:
+------------------------------------+---------------------------+
| :ref:`Standard <TemplateStandard>` | Make a Template component |
+------------------------------------+---------------------------+
.. _TemplateStandard:
Template Standard
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITemplate Standard {sId:'value'} %}
Content Goes Here
{% EndUITemplate %}
:parameters:
+-----+--------+-----------+--+--+
| sId | string | mandatory | | |
+-----+--------+-----------+--+--+
Template common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Template/TemplateFooter.rst

View File

@@ -1,173 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Title:
Title
=====
Class Title
----
.. include:: /manual/Component/Title/TitleAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UITitle**
:Syntax:
.. code-block:: twig
{% UITitle Type {Parameters} %}
Content Goes Here
{% EndUITitle %}
:Type:
+-----------------------------------------------+------------+
| :ref:`ForPage <TitleForPage>` | No comment |
+-----------------------------------------------+------------+
| :ref:`ForPageWithIcon <TitleForPageWithIcon>` | No comment |
+-----------------------------------------------+------------+
| :ref:`Neutral <TitleNeutral>` | No comment |
+-----------------------------------------------+------------+
| :ref:`Standard <TitleStandard>` | No comment |
+-----------------------------------------------+------------+
.. _TitleForPage:
Title ForPage
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle ForPage {sTitle:'value', sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _TitleForPageWithIcon:
Title ForPageWithIcon
^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle ForPageWithIcon {sTitle:'value', sIconUrl:'value', sIconCoverMethod:'value', bIsMedallion:true, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+------------------+--------+-----------+-----------+--+
| sTitle | string | mandatory | | |
+------------------+--------+-----------+-----------+--+
| sIconUrl | string | mandatory | | |
+------------------+--------+-----------+-----------+--+
| sIconCoverMethod | string | optional | 'contain' | |
+------------------+--------+-----------+-----------+--+
| bIsMedallion | bool | optional | true | |
+------------------+--------+-----------+-----------+--+
| sId | string | optional | NULL | |
+------------------+--------+-----------+-----------+--+
.. _TitleNeutral:
Title Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle Neutral {sTitle:'value', iLevel:value, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| iLevel | int | optional | 1 | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _TitleStandard:
Title Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle Standard {oTitle:value, iLevel:value, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+---------+-----------+------+--+
| oTitle | UIBlock | mandatory | | |
+--------+---------+-----------+------+--+
| iLevel | int | optional | 1 | |
+--------+---------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+---------+-----------+------+--+
Title common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Title/TitleFooter.rst

View File

@@ -1,138 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Toolbar:
Toolbar
=======
Class Toolbar
----
.. include:: /manual/Component/Toolbar/ToolbarAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIToolbar**
:Syntax:
.. code-block:: twig
{% UIToolbar Type {Parameters} %}
Content Goes Here
{% EndUIToolbar %}
:Type:
+-------------------------------------+------------+
| :ref:`ForAction <ToolbarForAction>` | No comment |
+-------------------------------------+------------+
| :ref:`Standard <ToolbarStandard>` | No comment |
+-------------------------------------+------------+
| :ref:`ForButton <ToolbarForButton>` | No comment |
+-------------------------------------+------------+
.. _ToolbarForAction:
Toolbar ForAction
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar ForAction {sId:'value'} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
.. _ToolbarStandard:
Toolbar Standard
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar Standard {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
.. _ToolbarForButton:
Toolbar ForButton
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar ForButton {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
Toolbar common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Toolbar/ToolbarFooter.rst

View File

@@ -1,78 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _ToolbarSpacer:
ToolbarSpacer
=============
Class ButtonToolbarSpacer
----
.. include:: /manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIToolbarSpacer**
:Syntax:
.. code-block:: twig
{% UIToolbarSpacer Type {Parameters} %}
:Type:
+-----------------------------------------+-------------------------+
| :ref:`Standard <ToolbarSpacerStandard>` | @param string|null $sId |
+-----------------------------------------+-------------------------+
.. _ToolbarSpacerStandard:
ToolbarSpacer Standard
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbarSpacer Standard {sId:'value'} %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
ToolbarSpacer common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerFooter.rst

View File

@@ -1,17 +0,0 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Layouts:
UI Layouts
==========
A UI block that serves as a layout for the page.
.. toctree::
:maxdepth: 1
:caption: Components:
MultiColumn/Column/Column
MultiColumn/MultiColumn
UIContentBlock

View File

@@ -1,115 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Column:
Column
======
Class Column
----
.. include:: /manual/Layout/MultiColumn/Column/ColumnAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIColumn**
:Syntax:
.. code-block:: twig
{% UIColumn Type {Parameters} %}
Content Goes Here
{% EndUIColumn %}
:Type:
+----------------------------------+------------+
| :ref:`Standard <ColumnStandard>` | No comment |
+----------------------------------+------------+
| :ref:`ForBlock <ColumnForBlock>` | No comment |
+----------------------------------+------------+
.. _ColumnStandard:
Column Standard
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIColumn Standard {sId:'value'} %}
Content Goes Here
{% EndUIColumn %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
.. _ColumnForBlock:
Column ForBlock
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIColumn ForBlock {oBlock:value, sId:'value'} %}
Content Goes Here
{% EndUIColumn %}
:parameters:
+--------+---------+-----------+------+--+
| oBlock | UIBlock | mandatory | | |
+--------+---------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+---------+-----------+------+--+
Column common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/MultiColumn/Column/ColumnFooter.rst

View File

@@ -1,94 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _MultiColumn:
MultiColumn
===========
Class MultiColumn
----
.. include:: /manual/Layout/MultiColumn/MultiColumnAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIMultiColumn**
:Syntax:
.. code-block:: twig
{% UIMultiColumn Type {Parameters} %}
Content Goes Here
{% EndUIMultiColumn %}
:Type:
+---------------------------------------+------------+
| :ref:`Standard <MultiColumnStandard>` | No comment |
+---------------------------------------+------------+
.. _MultiColumnStandard:
MultiColumn Standard
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIMultiColumn Standard {sId:'value'} %}
Content Goes Here
{% EndUIMultiColumn %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
MultiColumn common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddColumn | Column | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/MultiColumn/MultiColumnFooter.rst

View File

@@ -1,141 +0,0 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _UIContentBlock:
UIContentBlock
==============
Class UIContentBlock
Base block containing sub-blocks
----
.. include:: /manual/Layout/UIContentBlockAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIContentBlock**
:Syntax:
.. code-block:: twig
{% UIContentBlock Type {Parameters} %}
Content Goes Here
{% EndUIContentBlock %}
:Type:
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`Standard <UIContentBlockStandard>` | Make an empty UIContentBlock which can be used to embed anything or to surround another block with specific CSS classes. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForCode <UIContentBlockForCode>` | Used to display a block of code like <pre> but allows line break. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPreformatted <UIContentBlockForPreformatted>` | Used to display a block of preformatted text in a <pre> tag. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
.. _UIContentBlockStandard:
UIContentBlock Standard
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock Standard {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
.. _UIContentBlockForCode:
UIContentBlock ForCode
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock ForCode {sCode:'value', sId:'value'} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------+--------+-----------+------+--+
| sCode | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
.. _UIContentBlockForPreformatted:
UIContentBlock ForPreformatted
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock ForPreformatted {sCode:'value', sId:'value'} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------+--------+-----------+------+--+
| sCode | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
UIContentBlock common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/UIContentBlockFooter.rst

Some files were not shown because too many files have changed in this diff Show More