Compare commits

..

345 Commits

Author SHA1 Message Date
Molkobain
6c4289a491 Tests: Rename file to match conventions 2023-02-17 15:33:09 +01:00
Eric Espie
8940051c3d N°5906 - CRUD Event - fire event EVENT_DB_LINKS_CHANGED when an n-n link is created/updated/deleted 2023-02-17 14:25:01 +01:00
Eric Espie
72dad5dd07 N°5891 - Make CSV import unit tests work 2023-02-16 16:14:37 +01:00
Molkobain
dc38db1c3d PHP 8.1: Reduce time interval to something more pragmatic for quicker test execution 2023-02-16 11:40:59 +01:00
Molkobain
45df1002ec N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-02-15 23:02:40 +01:00
Molkobain
737388053f PHP 8.1: Fix FunctionExpression::Evaluate() "TO_DAYS" misalignment due to PHP 8.1 bug fix 2023-02-15 21:31:11 +01:00
dariocodes
d0b000d125 Update README.md to improve grammar
- Using hyphens to combine "web-based" ensures that the reader understands that it is a compound modifier.
- Adding a comma after "platform" helps to separate the list of items that follows and improve readability.
- Using commas to separate the list of items in the series (CMDB, helpdesk system, and document management tool) helps to clarify that each item is a distinct element.
- Fixed a typo where "adds-on" was written instead of "add-ons".
- Uses the wrong form of the verb "be." In this context, the correct form of the verb to use is "become," not "being." 
- Adding a comma after led is grammatically better as is referenced here: https://github.com/Combodo/combodo-workflow-graphical-view/pull/1
2023-02-15 18:02:54 +01:00
Eric Espie
1d0ce1862d N°4756 - Ease extensibility for CRUD operations : Event Service - Fix unit tests 2023-02-14 15:53:12 +01:00
Eric Espie
c0589715c1 N°4756 - Ease extensibility for CRUD operations : Event Service - Fix RegisterListener() signature and calls 2023-02-14 11:26:47 +01:00
Eric Espie
8b18fd7cc0 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-14 09:35:59 +01:00
Eric Espie
9f81e4875a Merge branch 'hotfix/5944_GetClassesForInterface_filter' into support/3.0 2023-02-14 09:16:49 +01:00
Molkobain
33717b9610 N°5951 - Fix crash when creating a user with a non valid password
/!\ Mind that this could have impact on DoCheckToWrite() overloads for people using \DBObject::GetKey() instead of \DBObject::IsNew()
2023-02-13 20:22:39 +01:00
Molkobain
b97a464bb1 N°2783 - Initialize property correctly (highlighted by 58c0da7e) 2023-02-13 19:36:46 +01:00
Pierre Goiffon
58c0da7e87 N°2783 Fix setup crashing because of a php warning (#389) 2023-02-13 17:09:24 +01:00
Molkobain
4203382920 N°2783 - Add support for custom zlists (#389) 2023-02-13 16:13:51 +01:00
Molkobain
825e402dd6 N°5279 - Improve DBBackup::MakeName() unit test by evaluating placeholders 2023-02-13 15:57:29 +01:00
Molkobain
fa75c8964a Tests: Improve REST API tests robustness when output JSON is not always ordered the same (even though the content is semantically the same) 2023-02-13 10:27:28 +01:00
Pierre Goiffon
fc58c6f4ce N°4577 setup params : add itop-bridge-cmdb-services 2023-02-13 09:23:19 +01:00
Molkobain
ef4e38f6b9 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-11 09:55:15 +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
Molkobain
1086eaaffe N°3190 - Fix XML conversion unit test 2023-02-10 22:37:24 +01:00
Molkobain
f7ee21f1d7 N°5279 - PHP 8.1: Migrate usages of deprecated strftime() function
In the end we made an adapter to keep using the strftime() format (https://www.php.net/manual/fr/function.strftime.php); not to ease migration but because we couldn't use \DateTime::format().
We can't use \DateTime::format() directly on the whole filename as it would also format characters that are not supposed to be. eg. "__DB__-Y-m-d-production" would become "itopdb-2023-02-09-+01:00Thu, 09 Feb 2023 11:34:01 +0100202309", mind the "production" part being converted.
2023-02-10 22:15:18 +01:00
Pierre Goiffon
35b0b16e20 N°4756 Add listenerId to register call for debug purposes 2023-02-10 17:31:48 +01:00
Pierre Goiffon
ca72ec736e N°4756 DBObject Rename Event* methods to FireEvent* 2023-02-10 15:22:33 +01:00
Pierre Goiffon
e63d66aa5d N°4756 Fix TypeError on EventData::$aCallbackData 2023-02-10 15:01:56 +01:00
bdalsass
2803f0be49 N°3190 - Add iTop design format compatibility converter
- Add converter for  for display_style property
- Update php unit test to control conversion
2023-02-10 13:47:10 +01:00
BenGrenoble
278b0d643f N°5968 - Add structural data for Brand, OSFamily and OSVersion
Refactor file model.itop-bridge-cmdb-services.php
2023-02-10 11:21:19 +01:00
vdumas
569045f675 N°5946 - Error in a french translation - user preference 2023-02-09 17:30:17 +01:00
vdumas
25989bc00f N°5947 - Typos in french translation for incident 2023-02-09 17:25:25 +01:00
vdumas
fc60759db5 N°5920 - Align icon, title and tooltip for extra tabs in standard DM 2023-02-09 17:13:07 +01:00
BenGrenoble
3a931ff79e N°5968 - Add structural data for Brand, OSFamily and OSVersion
Change path and correct osversion id
2023-02-09 11:32:57 +01:00
BenGrenoble
f6bd380ad0 N°5968 - Add structural data for Brand, OSFamily and OSVersion
Remove sample brand
2023-02-09 11:10:00 +01:00
BenGrenoble
97c4ecf8bc N°5968 - Add structural data for Brand, OSFamily and OSVersion
Correct brand id
2023-02-09 10:50:59 +01:00
BenGrenoble
5f4ef74d34 N°5968 - Add structural data for Brand, OSFamily and OSVersion
Move data to config-mgmt
2023-02-09 10:45:10 +01:00
BenGrenoble
6184dbafff N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module 2023-02-09 10:32:39 +01:00
BenGrenoble
630c1dcdc8 N°5968 - Add structural data for Brand, Model, OSFamily and OSVersion 2023-02-09 09:59:06 +01:00
vdumas
cb84cbf7a8 N°5106 - Add Associated User tab on Person 2023-02-09 09:40:19 +01:00
vdumas
b025f86b21 N°5106 - Add Associated User tab on Person 2023-02-09 09:06:48 +01:00
vdumas
5a76175ec1 N°5908 - add a description on "known error" tab on UserRequest and Incident 2023-02-09 09:03:18 +01:00
vdumas
ce162f05da N°5908 - add a description on "known error" tab on UserRequest and Incident 2023-02-08 19:00:57 +01:00
Molkobain
d358c9e8fa N°5920 - Tab manager: Fallback on dict entry code convention (tab code followed by "+" sign) for tab's description / tooltip if none given 2023-02-08 18:23:20 +01:00
bdalsass
86a208a86d N°5904 - Use attribute linked set edit mode to enable actions in view (improvement) 2023-02-08 14:34:46 +01:00
vdumas
372888c7a7 N°5106 - Add Associated User tab on Person 2023-02-08 13:01:41 +01:00
Molkobain
547a520ab1 N°5951 - Temporary fix to unblock 3.1.0-alpha1, we need to discuss the DBObject::DBInsertNoReload() sequence before going further 2023-02-07 19:41:03 +01:00
Molkobain
8bf788dcb9 N°5904 - PHP 8.1: Migrate usage of deprecated FILTER_SANITIZE_STRING constant 2023-02-07 14:57:24 +01:00
Molkobain
a157e754a9 N°5074 - Clean up of dynamically created class properties due to bdb29fd99 2023-02-07 14:51:42 +01:00
Molkobain
eae84ab399 N°5074 - Clean up of dynamically created class properties due to bdb29fd99 2023-02-07 14:51:00 +01:00
Molkobain
4d4d3bd9a2 N°5904 - Fix crash when adding a 1:n link item in object edition 2023-02-07 14:35:49 +01:00
Benjamin Dalsass
9f9630d011 N°5904 - remove link as tagset add button 2023-02-07 09:42:41 +01:00
Benjamin Dalsass
de1c58a84c N°5904 - Use attribute linked set edit mode to enable actions in view 2023-02-06 17:22:30 +01:00
bdalsass
1fe9520b7e N°5904 - Use attribute linked set edit mode to enable actions (#440)
* Add corresponding buttons depending on old edit mode (need to check with piR pour récuperer l'ancienne valeur.

* N°5904 - Handle attribute linked set edit_mode

* N°5904 Move calls to private jquery widget methods to public

* N°5904 - Worker improvements add button on link tagset

* Change itop set widget to new set block UI (5)

* Change itop set widget to new set block UI (5)

* Renommage variables JS avec le prefix combodo

* Search dialog block id conflict with form id

* add moved js files in iTopWebPage compatibility list

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2023-02-06 16:07:55 +01:00
Stephen Abello
3fbc5e1ce0 N°5904 Hide decorative plus icon on attribute set edit 2023-02-06 14:24:44 +01:00
Molkobain
786e7d647c N°5388 - PHP 8.2: Fix partially supported callable 2023-02-03 23:01:24 +01:00
Eric Espie
99b7d66cf2 N°5944 - Wrong filter for utils::GetClassesForInterface() 2023-02-03 11:10:37 +01:00
Molkobain
1768274aaf N°5943 - Fix undefined array key "Remote" in AjaxRenderController.php with DokuWiki extension 2023-02-03 09:38:28 +01:00
Stephen Abello
7cc1e33950 N°5904 Fix attribute set / linkset wrapping 2023-02-02 10:05:55 +01:00
Molkobain
72a586e490 N°5905 - Fix linkset panel description still in an alert when editing host object 2023-02-01 18:09:46 +01:00
Stephen Abello
0cce58e0cf N°5904 Fix hardcoded string when existing dict entry was available 2023-02-01 09:40:38 +01:00
Stephen Abello
53b68f88b8 Fix typo in dictionaries 2023-02-01 09:39:33 +01:00
Stephen Abello
7fb10da013 N°5904 Fix hardcoded strings when existing dict entries were available 2023-02-01 09:33:58 +01:00
Stephen Abello
0b1352fe37 N°5904 Move dict entries 2023-01-31 09:57:06 +01:00
acognet
e0cc00e772 N°5849 - Fix wrong encoding of external keys in "Header with statstics" dashlet - fix for 3.1 2023-01-30 17:29:51 +01:00
Molkobain
002e52cc3e N°5929 - Fix parse error due to not closed array from bbea9782 2023-01-30 17:21:41 +01:00
Thomas Casteleyn
bbea978259 N°5929 - Update hungarian translations thanks to @tacsaby (#438)
Co-authored-by: tacsaby
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-01-30 17:15:08 +01:00
Molkobain
bddfa4cd7a Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-30 17:09:36 +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
Eric Espie
cd1b441025 N°4756 - Ease extensibility for CRUD operations: 🎨 add log 2023-01-30 14:45:58 +01:00
Pierre Goiffon
0f97b93617 N°5856 Fix object lists always ajax loaded
Regression introduced in N°3200 with 4f7a1ea9
2023-01-30 09:31:10 +01:00
Molkobain
b61c8ea4ca N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-01-27 19:00:59 +01:00
Molkobain
f48df74933 N°5388 - PHP 8.2: Fix dynamic properties that were actually just case-sensitive typos 2023-01-27 17:57:50 +01:00
Molkobain
6fb00cbbf3 N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-01-27 17:56:55 +01:00
Molkobain
af2421a2cb N°5905 - Move tab description to a tooltip on the panel's title instead of a big blue alert 2023-01-27 17:25:03 +01:00
Molkobain
0374e303e4 N°5905 - Refactor CSS class .ibo-has-description so it can be used on any element 2023-01-27 17:25:03 +01:00
Molkobain
27bd78d76b Refactor SCSS misc. partial to dedicated partials as it was growing too much 2023-01-27 17:25:03 +01:00
Stephen Abello
bc3b43958c N°5904 When getting an error in a popup (e.g. uniqueness rule), remove submit state, so we can submit the form again 2023-01-27 14:33:49 +01:00
Molkobain
fd4a2f17d2 N°4481 - Fix CSS class name 2023-01-27 13:24:54 +01:00
vdumas
d741656028 N°5904 - Linksets: tooltip & pop-up title 2023-01-27 11:00:08 +01:00
Molkobain
f7e8bd31f5 N°5905 - Fix "+" button displayed twice on linksets with 1 item 2023-01-26 17:49:17 +01:00
Eric Espie
1e37370789 N°4756 - Ease extensibility for CRUD operations : 🎨 refactor after code review with PG 2023-01-26 17:32:08 +01:00
Tarjányi Csaba
5844717980 Update hu.dict.authent-local.php
a small fix
2023-01-26 16:20:11 +01:00
Vincent Dumas
9437968d0e N°5825 - Add friendlyname & uniqueness rule on Links (#416)
* N°5825 - Add label, friendlyname, filter, details view, uniqueness rules on Link classes
* N°5825 - Add label, friendlyname, details view, uniqueness rules on Link classes
2023-01-26 14:26:31 +01:00
Molkobain
e72ed33a40 N°5920 - Add linkset's description as corresponding tab's tooltip in object details 2023-01-26 12:01:56 +01:00
Molkobain
2a825c6ba0 N°5905 - Fix "+" button displayed twice on linksets with no item 2023-01-26 11:03:01 +01:00
vdumas
6b8d9ea08d N°5915 - Complementary Name on Trigger and Action 2023-01-26 09:03:52 +01:00
vdumas
52d57293c9 N°5825 - Add label, friendlyname, details view (on LnkPersonToTeam) 2023-01-25 18:37:38 +01:00
Molkobain
40cebf1eb7 N°5923 - Align panel's header within another panel when it has no icon 2023-01-25 16:50:21 +01:00
Molkobain
f1d6f3e5c2 N°5905 - Harmonize how known errors are displayed in an object 2023-01-25 15:33:44 +01:00
Pierre Goiffon
834c4a2654 N°5563 Restore edit_mode getter
Woops forgot in 13550fd6
2023-01-25 14:57:30 +01:00
Molkobain
ed1a076ebb N°5905 - Harmonize how notifications are displayed in an object 2023-01-25 10:41:18 +01:00
Molkobain
1dcf38f2ea N°5905 - Harmonize how linksets are displayed in edition part I
* Always display a table and its actions to ease link creation
* Display linkset description in an alert block
2023-01-25 10:29:48 +01:00
odain
2f034253e7 N°5891 - Make CSV import unit tests work-use another password for user authentication 2023-01-25 08:56:15 +01:00
Molkobain
a10ac7fdcb N°5905 - Harmonize how linksets are displayed part I
* Always display a table and its actions to ease link creation
* Display linkset description in an alert block
2023-01-24 21:12:49 +01:00
vdumas
3775ccea74 N°5915 - Display n:n in Trigger and Action using tagset widget 2023-01-24 17:23:44 +01:00
bdalsass
f743971c93 N°5914 - Wrong encoding in modules configuration editor (#392) 2023-01-24 16:33:02 +01:00
Stephen Abello
dd213df9c4 N°5822 Fix 7127b192 SCSS rule 2023-01-24 14:33:41 +01:00
Molkobain
96825c646e N°4756 - Move event register to dedicated folder 2023-01-24 14:20:35 +01:00
Stephen Abello
1152b2f401 N°5904 Hide transitions in modals 2023-01-24 11:21:35 +01:00
Stephen Abello
8f7003c694 N°5904 Change dict entry value 2023-01-24 11:21:33 +01:00
bdalsass
fb1ceebaa4 N°3190 - Edit n:n LinkedSetIndirect in object details using a tagset-like widget
- Add generic set block ui component
- Add model link set (direct and indirect) attribute (display style)
- Add model link set direct allowed values
- Create link set viewer block UI (BlockLinksSetDisplayAsProperty)
- Add set block ui factory for linkset
- Add object factory and create new endpoint in object controller (with data binder)
- Add link set model, link set repository and link set data transformer services
2023-01-24 10:03:10 +01:00
Stephen Abello
9482139b5a N°5904 Fix undefined attribute when refreshing Datatables 2023-01-23 16:42:43 +01:00
Stephen Abello
7ea2315323 Fix php warning and missing dict entry for 1-n (3d9a85d follow-up) 2023-01-23 16:36:13 +01:00
Stephen Abello
9487d63b9c N°5904 When detaching/deleting a linked object, refresh datatable or display an error message 2023-01-23 16:16:23 +01:00
Stephen Abello
3d9a85d577 Fix php warning and missing dict entry 2023-01-23 15:36:38 +01:00
Molkobain
b2397fc570 N°4517 - Fix missing use statement from 7ec12f1e1 2023-01-20 15:30:53 +01:00
Molkobain
0d15b01b3f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	pages/UI.php
2023-01-20 11:59:26 +01:00
vdumas
f7e87c1ea1 N°5347 - Change default value of allow_menu_on_linkset 2023-01-20 11:30:55 +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
Stephen Abello
f21f6aec30 Missing class import 2023-01-20 10:10:05 +01:00
Pierre Goiffon
c76d351379 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
2023-01-19 17:54:29 +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
b4813de0a5 Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
2023-01-19 08:52:47 +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
Molkobain
8e3bad11ae N°5563 - Fix XML conversion XPaths 2023-01-18 19:35:59 +01:00
Pierre Goiffon
13550fd643 N°5563 Relations XML : restore edit_mode node
There are (yet !) not change in the relations UI when in object is in edit mode, so we need to keep previous behaviors.
2023-01-18 18:11:02 +01:00
Molkobain
44977d69b6 N°5608 - Fix event service unit tests namespace 2023-01-18 17:50:22 +01:00
Molkobain
15f108152c N°5608 - Fix Twig unit test and re-enable all tests under /sources dir that were not run! (Application/Helper, Application/Service, Application/TwigBase, Composer, Router) 2023-01-18 17:41:47 +01:00
Molkobain
9be167cf5e N°5608 - Rename unit tests dirs "sources/application" to match counter-part dirs name 2023-01-18 17:39:55 +01:00
Eric Espie
34688c2bf6 Merge branch 'support/3.0' into develop 2023-01-18 16:42:30 +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
Stephen Abello
c1922e2b3f N°3300 - Add creation and modification of 1-n objects in object details (#385)
* Rebase onto develop

* Use exit condition instead of englobing condition

* Add informative modals that can be called from modal toolbox

* Refactor "apply_modify" and "apply_new" into own controller, handle ajax requests with a json response and handle these responses in linkset creation/edition

* Fix merge issues

* Remove inverted condition

* Move linkset create button to a better place, still needs to fix duplicate "New" button caused by a refactor

* Handle "Cancel" button in modals

* Do not display relations when editing an object in a modal

* More elegant way to add "New" button to relations lists

* Factorize vertical highlights in alerts and modal in a single mixin

* Replace button name with dict entry code

* Change route name to snake case

* More elegant way to add "Create in modal" button to relations lists

* Replace triple if with in_array

* Move listener to body

* Rename variable to match boolean rules

* Rename event

* Rename extra param

* Add phpdoc

* Revert changes

* Check indirect linkset rights before allowing creation in modal

* Allow to modify linked object from 1-n relation in modal

* Add "New" button to 1-n relations

* Fix "new" button on 1-n

* Add todo

* Handle multiple classes choice

* Rework multiple classes choice and only allow LinksetController to be called from an ajax context

* PhpDoc

* Update sources/Application/UI/Links/Direct/BlockDirectLinksViewTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-01-18 15:43:31 +01:00
Stephen Abello
e1ffa65d8b N°3136 - Add creation and modification of n-n objects in object details (#378)
* Rebase onto develop

* Use exit condition instead of englobing condition

* Add informative modals that can be called from modal toolbox

* Refactor "apply_modify" and "apply_new" into own controller, handle ajax requests with a json response and handle these responses in linkset creation/edition

* Fix merge issues

* Remove inverted condition

* Move linkset create button to a better place, still needs to fix duplicate "New" button caused by a refactor

* Handle "Cancel" button in modals

* Do not display relations when editing an object in a modal

* More elegant way to add "New" button to relations lists

* Factorize vertical highlights in alerts and modal in a single mixin

* Replace button name with dict entry code

* Change route name to snake case

* More elegant way to add "Create in modal" button to relations lists

* Replace triple if with in_array

* Move listener to body

* Rename variable to match boolean rules

* Rename event

* Rename extra param

* Add phpdoc

* Revert changes

* Check indirect linkset rights before allowing creation in modal
2023-01-18 13:35:48 +01:00
Molkobain
cc2881a7b0 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-17 19:21:52 +01:00
Molkobain
0d8a21f6ef N°5897 - Improve deprecated logs relevance for PHP "trigger_deprecation" 2023-01-17 16:30:35 +01:00
Molkobain
3459dc5997 N°5897 - Improve deprecated logs relevance for PHP "trigger_deprecation" 2023-01-17 16:29:25 +01:00
Pierre Goiffon
01d9d34118 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-17 15:37:43 +01:00
Pierre Goiffon
de7c9d965e 💡 PHPDoc in \DeprecatedCallsLog 2023-01-17 15:37:23 +01:00
Eric Espie
6549c95d4f N°4756 - Ease extensibility for CRUD operations : XML format migration 2023-01-17 10:17:11 +01:00
Molkobain
da07fadfb3 N°5302 - PHP 8.1: Migrate some strlen() usages to internal method 2023-01-16 16:47:26 +01:00
Molkobain
b2c256e51e Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-16 16:37:22 +01:00
Pierre Goiffon
7305a30b50 N°3200 Remove "Filter list" icon
The link is still here but on objects total (see c693d03a)
2023-01-16 15:29:18 +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
59792b2a3d N°4660 Remove useless chmod 2023-01-16 11:55:18 +01:00
Pierre Goiffon
19dda61d4f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-01-16 11:54:24 +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
Eric Espie
06a5d645da N°4756 - Ease extensibility for CRUD operations : Add unit tests 2023-01-12 17:40:17 +01:00
Pierre Goiffon
5d1852fe45 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-12 16:43:41 +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
Eric Espie
ced4f82585 N°5412 - Upgrade to PHPUnit 9 to fix PHPUnit 8.5 error with PHP 8.1 - replaced removed function 2023-01-12 16:34:14 +01:00
Pierre Goiffon
de0110abc6 RestTest : test json_decode return value 2023-01-12 15:50:57 +01:00
Molkobain
a53bea5eb9 Add @jf-cbd to the sample data, welcome! 👋 2023-01-12 14:41:41 +01:00
Pierre Goiffon
47435869b3 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-12 10:43: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
Molkobain
e04ea2d178 N°5608 - Fix status unit tests for PHPUNit 9 2023-01-11 18:22:48 +01:00
Molkobain
42ce397e13 N°5608 - Fix event service unit tests suite 2023-01-11 18:22:48 +01:00
Pierre Goiffon
22162aa55f Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-11 18:09:49 +01:00
Pierre Goiffon
c693d03a77 N°3200 Add "Filter list" link on datatable count 2023-01-11 17:19:49 +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
29e0df9bbc Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	test/sources/application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/ItopTestCase.php
#	tests/php-unit-tests/composer.lock
#	tests/php-unit-tests/unitary-tests/.make/release/DatamodelsXmlFilesTest.php
#	tests/php-unit-tests/unitary-tests/application/UI/Base/Layout/NavigationMenuTest.php
#	tests/php-unit-tests/unitary-tests/application/query/QueryTest.php
#	tests/php-unit-tests/unitary-tests/core/DBSearchTest.php
#	tests/php-unit-tests/unitary-tests/datamodels/2.x/itop-config/BulkChangeExtKeyTest.inc.php
#	tests/php-unit-tests/unitary-tests/datamodels/2.x/itop-config/CRUD/DBObjectTest.php
#	tests/php-unit-tests/unitary-tests/service/EventTest.php
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml
#	tests/php-unit-tests/unitary-tests/sources/Application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/unitary-tests/sources/Router/RouterTest.php
#	tests/php-unit-tests/unitary-tests/sources/application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/unitary-tests/webservices/ImportTest.inc.php
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-01-11 15:55:08 +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
Molkobain
ec90c0b6cd N°5872 - Navigation menu: Wrap menu group label instead of ellipsis in drawer 2023-01-11 10:21:46 +01:00
Molkobain
7b79da3f32 N°5871 - Navigation menu: Show ellipsis on long menu group labels 2023-01-11 10:18:15 +01:00
Pierre Goiffon
5729d6a9cd 🎨 StatusIncTest : fix phpdoc, replace @expectedException 2023-01-11 10:02:59 +01:00
acognet
4d7bac89f3 N°3805 - Collectors not working on itop 3.0 2023-01-11 09:47:53 +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
Lars Kaltefleiter
57ab3a0336 N°1350 - link audit catecories to domains and evaluate only categories of a given domain via interactive audit 2023-01-10 18:20:15 +01:00
Lars Kaltefleiter
4a54b2f8ff N°1350 - Configurable error tolerance for report color of audit categories 2023-01-10 18:20:15 +01:00
Molkobain
6aa9aa2831 N°5608 - Fix unit tests following restructuring Part I 2023-01-10 18:15:53 +01:00
Eric Espie
9b47ee12e7 N°4307 - Replace SwiftMailer by laminas-mail - Fix connecting to server without password 2023-01-10 17:58:03 +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
Lars Kaltefleiter
b354058eb5 N°5622 Fix backup cannot be done if TLS enabled with no CA (#354) 2023-01-10 12:13:33 +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
Pierre Goiffon
43dd0b7df8 N°2013 Fix regression when installing from scratch
Error was "Call to a member function UpdateFromParams() on null"
Regression introduced by 15d3201a
2023-01-10 10:56:21 +01:00
Pierre Goiffon
43d86ad8e2 N°2013 Setup : fix crash on setting readonly mode if initial DB info were wrong
Same as 15d3201a, but this error happened before compilation, when setting read only mode.
As before this is another fix for #351.

This fix introduces the new method \WizardController::GetParamForConfigArray
I replaced existing duplicate code with a call to this new generic method.
2023-01-10 10:56:21 +01:00
Eric Espie
d3d89b1ee2 N°5857 Fix PHPUnitPrettyPrint with PHPUnit 9 2023-01-10 09:42:13 +01:00
Pierre Goiffon
15d3201a40 N°2013 Setup : fix crash on compilation if initial DB info were wrong
Use case :
- having in the iTop config file wrong DB parameters (unreachable server for example)
- launch the setup in update mode
- fix the DB config in the wizard

The PR #351 solved the errors that were happening in the following steps.
But we still had an error during compilation, caused by the maintenance mode activation.
2023-01-09 16:11:27 +01:00
Eric Espie
cf4616d9a1 N°4756 - Ease extensibility for CRUD operations : Unit tests 2023-01-09 13:59:55 +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
Molkobain
083d19c688 📝 PHPDoc 2023-01-05 21:19:56 +01:00
Eric Espie
4e9a34d8d8 Merge branch 'support/3.0' into develop 2023-01-05 09:25:11 +01:00
Eric Espie
524e65a29b 📝 fix PHPDoc 2023-01-05 09:23:48 +01:00
Pierre Goiffon
25048ba0cc N°3200 🎨 Replace !empty() by \utils::IsNotNullOrEmptyString
Thanks Molkobain !
2023-01-05 09:07:13 +01:00
Pierre Goiffon
4f7a1ea9da N°3200 Datatable "filter list" icon : specific query for 1,n and n,n objects relations
This specific query passes attcodes list to display to UI.php, but this endpoint doesn't handle it yet. Adding this enhancements would require too much time for now (datatables legacy code), hopefully a refactoring work will be done soon and we'll get back to it !

Note that dedicated ContextTag is renamed from Search to ObjectSearch
2023-01-04 16:23:52 +01:00
Pierre Goiffon
a62a373f64 N°3200 ♻️ Refactor relations attcode list generation
The existing code was added in N°2334
Its generic part is now callable in the MetaModel::GetAttributeLinkedSetIndirectDatatableAttCodesToDisplay method
2023-01-04 16:23:52 +01:00
Pierre Goiffon
6b23171d65 N°3200 New "Filter list" icon in datatables
Every datatables will open its query in a new UI.php?operation=search page
2023-01-04 16:23:52 +01:00
Pierre Goiffon
09b69728a0 📝 Version history : highlight for major versions 2023-01-04 14:24:27 +01:00
Pierre Goiffon
bc0dbc7860 📝 Version history : add link to versions details on the wiki 2023-01-04 14:20:34 +01:00
Eric Espie
a693c343e8 N°4756 - Ease extensibility for CRUD operations : Reduce events after review 2023-01-04 14:18:01 +01:00
Eric Espie
cd17eb484a N°4756 - Ease extensibility for CRUD operations : Reduce events after review 2023-01-04 12:23:23 +01:00
Vincent Dumas
259eb60f97 N°5841 - Non-admin managing User can't see Administrator by default (#383) 2023-01-03 14:08:28 +01:00
Eric Espie
1afa3e2003 Merge branch 'support/3.0' into develop 2023-01-03 08:52:10 +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
4c4d7c12e8 N°4756 - Ease extensibility for CRUD operations : Coherency in method parameters 2023-01-02 14:23:36 +01:00
Eric Espie
97c3cacfaa N°4756 - Ease extensibility for CRUD operations : Pass DeletionPlan to EVENT_DB_CHECK_TO_DELETE 2023-01-02 14:20:17 +01:00
Eric Espie
98ec568788 N°4756 - Ease extensibility for CRUD operations : Events not sent in overridable methods 2023-01-02 14:06:02 +01:00
Eric Espie
626ba7ee66 📝 PHPDoc reworked packages 2022-12-30 14:17:57 +01:00
Eric Espie
3920f84f45 📝 PHPDoc reworked for auto-doc 2022-12-30 10:11:11 +01:00
Eric Espie
30d2557342 Merge branch 'support/3.0' into develop 2022-12-29 16:00:23 +01:00
Eric Espie
4bcad431aa 📝 Change packages for auto-documentation 2022-12-29 15:59:59 +01:00
Eric Espie
f3cea730af Merge branch 'support/3.0' into develop
# Conflicts:
#	application/applicationextension.inc.php
2022-12-29 14:40:26 +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
Eric Espie
0fad249124 N°5564 - ⬆️ twig bump 2022-12-26 09:42:56 +01:00
Pierre Goiffon
94d7d94bff 💡 Fix PHPDoc in \ApplicationMenu::GetSubMenuNodes 2022-12-23 16:14:38 +01:00
Vincent Dumas
48645dd519 N°4852 - Navigation menu: Display "+" dict entries as a tooltip on sub-nodes (#380) 2022-12-23 15:48:52 +01:00
Stephen Abello
9df9077595 N°4737 - Adjust progress bar position in iTop hub connector 2022-12-23 15:45:58 +01:00
Stephen Abello
756241918e N°4737 - Adjust button position in iTop hub connector 2022-12-23 15:44:22 +01:00
Stephen Abello
f819fdae98 N°5507 - Fix impact analysis page title when displaying "Depends on" graph 2022-12-23 15:09:13 +01:00
Stephen Abello
7127b192a2 N°5822 - Do not display the tab separator in scroll mode when there is only one tab 2022-12-23 14:28:22 +01:00
Eric Espie
1cac189077 N°4756 - Ease extensibility for CRUD operations : Fix CRUD after review 2022-12-23 10:37:08 +01:00
Eric Espie
0383fb124b N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:28:31 +01:00
Eric Espie
f378fd3d72 N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:22:06 +01:00
Eric Espie
44fac686f9 N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:16:52 +01:00
Molkobain
eff2afbc69 N°4756 - Improve PHPDoc and type hints 2022-12-22 10:25:24 +01:00
Molkobain
86b3129c08 N°4756 - Fix event listeners for modules
Counter part is that we can no longer fire events before MetaModel::Startup
2022-12-22 10:21:39 +01:00
Eric Espie
bdd5741290 N°4756 - Ease extensibility for CRUD operations : Protect against update loops 2022-12-22 08:56:40 +01:00
Eric Espie
53091fc5df N°4756 - Ease extensibility for CRUD operations : 🌐 dictionaries 2022-12-21 09:03:16 +01:00
Eric Espie
06db3561dc N°4756 - Ease extensibility for CRUD operations : Protect against update loops 2022-12-20 14:26:44 +01:00
Molkobain
5cb2f19ea0 N°4756 - Improve PHPDoc and type hints 2022-12-20 11:11:14 +01:00
Eric Espie
a668b92051 N°4307 - Add option verify_peer => not novalidatecert in SMTP 2022-12-20 10:27:41 +01:00
bdalsass
eda11e97e3 N°5074 - Linkset datatable actions row improvements
Linkset updates, feedbacks 09/12:

- Distinguish action label and tool tip message
- Change default action button label Ok => Confirm
- Use action label in place of default confirm button label
- Attach do not show again preference key to table instance
- Obsolescence flag for link selection (select all)  issue correction
2022-12-20 10:10:25 +01:00
Molkobain
64146b6e1b N°5655 - Add dedicated dict entries for bulk modify/delete actions on linksets 2022-12-20 09:43:25 +01:00
Eric Espie
7b85cb92b0 💡 phpdoc 2022-12-19 09:27:46 +01:00
Eric Espie
a28fcb7c8c N°4756 - Ease extensibility for CRUD operations : Event Service - 💄 better model view display 2022-12-16 11:47:26 +01:00
Eric Espie
f8ec180a0f N°4756 - Ease extensibility for CRUD operations : Event Service - 💚 Fix CI 2022-12-16 11:42:40 +01:00
Eric Espie
0810a113c1 N°4756 - Ease extensibility for CRUD operations : Event Service - Moved Events source code under sources/application/events 2022-12-16 11:30:00 +01:00
Eric Espie
1b4a21fafa N°4756 - Ease extensibility for CRUD operations : Event Service - Moved Events source code under sources/application/events 2022-12-16 11:28:52 +01:00
Eric Espie
fae857175b N°4756 - Ease extensibility for CRUD operations : Event Service - Changed CheckToWrite and CheckToDelete events and add two new events to set attributes flags 2022-12-16 11:07:41 +01:00
Eric Espie
9c21ca2ee6 💡 phpdoc @package ventilation and @api on methods 2022-12-16 11:03:15 +01:00
Pierre Goiffon
ccdb5ec79f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-12-15 15:37:09 +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
Eric Espie
207d312b12 N°4756 - Ease extensibility for CRUD operations : Event Service - Moved ApplicationEvents 2022-12-15 14:03:23 +01:00
Eric Espie
08d83478da N°4756 - Ease extensibility for CRUD operations : Event Service - Revert default value for utils::GetClassesForInterface() 2022-12-15 13:54:51 +01:00
Eric Espie
8665f4ff06 N°4756 - Ease extensibility for CRUD operations : Event Service - PHP Doc 2022-12-15 13:46:06 +01:00
Pierre Goiffon
6a5beb89cc 📝 Version history : 2.7.0-1 was a major version
2.7.0 community was never released
2022-12-15 11:55:51 +01:00
Molkobain
3d09e3b57b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-12-14 20:35:47 +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
Molkobain
27cf8159d0 N°5388 - PHP 8.2: Fix dynamic properties 2022-12-14 19:55:08 +01:00
Eric Espie
314dd7d7ad Merge remote-tracking branch 'origin/develop' into develop 2022-12-14 15:50:17 +01:00
Eric Espie
6412f1ab23 Merge branch 'support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php
2022-12-14 15:48:52 +01:00
jbostoen
32ee1a8226 N°5793 - HTML Sanitizer: Allow 'start' attribute in 'ol' tag (#368)
* * Extended allowed attributes on ol, li (based on W3Schools)

* Change unit test case label

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-14 15:46:59 +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
Thomas Casteleyn
fe997d1254 N°2013 Fix setup when doing update to new DB (#351)
During the setup there are some queries done to the DB.
Only the config file parameters were used, meaning changing those parameters in the setup form wasn't effective :(
This is a regression made in 2.5.0 with N°1260 (MySQL TLS)
2022-12-14 10:29:58 +01:00
Eric Espie
e38951ebae N°4756 - Ease extensibility for CRUD operations : Event Service - Changed some tags 2022-12-14 09:43:41 +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
Pierre Goiffon
fde6cac7a2 📝 SECURITY: Add disclosure policy (#372)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-13 18:15:25 +01:00
jbostoen
93209265f2 N°5792 - Update dutch translations thanks to @jbostoen 2022-12-13 17:49:32 +01:00
Eric Espie
b50675fc29 N°4756 - Ease extensibility for CRUD operations : Event Service - Fix CI 2022-12-13 13:44:20 +01:00
Eric Espie
deb6d1fd9a N°4756 - Ease extensibility for CRUD operations : Event Service - move event description to an object 2022-12-13 11:55:05 +01:00
Eric Espie
432579657c N°4756 - Ease extensibility for CRUD operations : Event Service - cleanup 2022-12-13 11:52:21 +01:00
Molkobain
f09bd5fdff N°5655 - Add icon to linkset bulk actions in case they are set as shortcut actions 2022-12-13 11:47:32 +01:00
Molkobain
4f37a9e447 N°5655 - Router: Add method to dump available routes 2022-12-13 11:47:32 +01:00
Molkobain
32297d93dd N°5655 - Add utils::ToSnakeCase() method 2022-12-13 11:47:32 +01:00
Pierre Goiffon
7083e1263d 📝 Version history : add 2.7.8 2022-12-13 10:53:59 +01:00
Eric Espie
329d1a7c41 N°4756 - Ease extensibility for CRUD operations : Event Service - documentation 2022-12-13 10:43:05 +01:00
Eric Espie
22749caeb4 N°4756 - Ease extensibility for CRUD operations : Event Service - renamed service setup interface 2022-12-13 10:19:25 +01:00
Eric Espie
baaa4474f9 N°5102 - Allow to send emails using GSuite SMTP and OAuth - cleanup unnecessary include 2022-12-13 10:01:57 +01:00
Molkobain
af804a9dc1 N°5655 - Enable bulk modify/delete on linksets 2022-12-12 23:44:31 +01:00
Molkobain
899f4fdc0a N°5655 - Fix regression from e5d67d22
Can't use "let" as this snippet seems to be evaluated several with the same variables 😭
2022-12-12 23:38:55 +01:00
Molkobain
8cced3a79e N°5655 - Refactor of menu actions generation to reduce duplicated code 2022-12-12 17:25:48 +01:00
Eric Espie
bb26e48d38 Update version to next release 2.7.9 2022-12-12 16:19:42 +01:00
Pierre Goiffon
4eb45f1b34 N°5779 iTopDesignFormatTest : test file conversion from version N to N
For example for a 3.1 version content will try to convert the file from 3.0 to 3.1
2022-12-12 10:48:59 +01:00
Pierre Goiffon
c2f503e2ac N°5779 update-xml : update code using iterators 2022-12-12 09:28:42 +01:00
Pierre Goiffon
e4e654100e N°5779 update-xml : check we are indeed targeting all of the design files 2022-12-09 18:19:15 +01:00
Pierre Goiffon
3270c3f775 🔨 N°5779 update-xml : if XML files already at current version, tries to convert from previous one 2022-12-08 17:08:00 +01:00
Eric Espie
7f88a6aa1a Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-08 08:39:55 +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
c02f84969a N°4756 - Ease extensibility for CRUD operations : Event Service 2022-12-08 08:21:13 +01:00
Eric Espie
bdebea62b6 N°5394 - use session for the FSM (use Session object) 2022-12-08 08:21:13 +01:00
Pierre Goiffon
4a22361f39 🔨 N°5633 update-xml.php : add new XML dir (/application and /core) 2022-12-07 17:40:48 +01:00
Pierre Goiffon
025f8b9dc3 🔨 N°5633 update-xml.php : if no version passed, assuming current version 2022-12-07 17:40:48 +01:00
Benjamin Dalsass
9defedb862 N°5073 - Issue, row actions listeners lost on refresh 2022-12-07 15:31:19 +01:00
Eric Espie
ae94e58a43 N°5725 - Twig update 'filter', 'map' and 'reduce' filters 2022-12-07 13:53:15 +01:00
Eric Espie
e4d8489292 Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-07 13:52:42 +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
Eduardo Mozart de Oliveira
0579f1b1dc Add Windows / macOS auto-generated files to .gitignore (#367)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-06 18:08:51 +01:00
Pierre Goiffon
a551bf0499 📝 CONTRIBUTING: Improvements (#371) 2022-12-06 17:19:44 +01:00
vdumas
4f36819ab2 Fix @param & @return comments for GetTagFromLabel 2022-12-06 16:43:55 +01:00
Stephen Abello
26359cf1ee Move datatable SCSS files under the same directory 2022-12-06 16:14:42 +01:00
Stephen Abello
00a25f3e8b Move datatable SCSS files under the same directory 2022-12-06 16:10:58 +01:00
Molkobain
2d122448c8 N°5655 - Fix is_callable() call for PHP 8.0+ 2022-12-06 16:04:26 +01:00
Molkobain
e5d67d2219 N°5655 - Small refactor for better reading 2022-12-06 14:07:15 +01:00
Molkobain
4ac0de5fff N°5655 - Code format 2022-12-06 14:07:15 +01:00
bdalsass
dbe7fae82e Feature/modals - generic modal API (#373)
Default modal JS Implementation:

Add title option
Add buttons option
Change template cloning
Confirmation Modal:

Add implementation
Do not show again functionality
Web Page:

Add blocks array with twig loop insertion
2022-12-06 10:18:59 +01:00
Stephen Abello
98a53a46f0 Fix "Configure this list" modal content display 2022-12-02 15:33:35 +01:00
Eric Espie
e6946d33e6 Merge branch 'support/3.0' into develop 2022-12-02 11:21:04 +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
3548251997 Merge branch 'support/3.0' into develop 2022-12-02 09:27:40 +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
93e0dde1a1 Merge branch 'support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php

Email by SMTP with self-signed certificate ported from EmailSwiftMailer to EmailLaminas
2022-11-30 14:35:13 +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
f02e95e8bf Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	test/twig/test.html
#	test/twig/test.html.twig
2022-11-30 13:57:28 +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
Vladimir Kunin
98bcfeb2ba 🐛 N°5369 - Fix BrowseBrick tree "opening_target" mode for "self" and "new" values (#299)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-11-30 11:45:06 +01:00
Pierre Goiffon
669c69ff39 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-29 19:04:04 +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
c5e00194b7 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	pages/ajax.render.php
2022-11-29 18:22:35 +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
Eric Espie
ded2f8af9a Fix CI 2022-11-29 14:39:16 +01:00
Molkobain
084f3ec52b N°5655 - Continue work on CombodoModal Part 2 2022-11-28 15:57:25 +01:00
Molkobain
bedc8bbf46 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-26 00:25:05 +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
1238 changed files with 20192 additions and 90159 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