MIOLO20
Carregando...
Procurando...
Nenhuma entrada encontrada
theme.class
Ir para a documentação deste ficheiro.
1<?php
2
39class Theme extends MTheme
40{
41 public function __construct()
42 {
43 parent::__construct('smodern');
44 }
45
46 public function init()
47 {
48 $this->manager->getPage()->addStyle('miolo.css');
49 $this->manager->getPage()->addStyle('select2.css');
50
51 $this->manager->getPage()->addScript('push.min.js');
52 $this->manager->getPage()->addScript('jquery.min.js');
53 $this->manager->getPage()->addScript('select2.js');
54 $this->manager->getPage()->addScript('jquery.maskMoney.min.js');
55 $this->manager->getPage()->addScript('keycloak/keycloak.js');
56 $this->manager->getPage()->addScript('keycloaklogin.js');
57 $this->manager->getPage()->addScript('dojoroot/config.js');
58 $this->manager->getPage()->addScript('dojoroot/dojo/dojo.js');
59
60 if ( strlen((string) $this->manager->getConf('theme.client')) )
61 {
62 $this->manager->getPage()->addStyle( $this->manager->getConf('theme.client') .'.css' );
63 }
64
66
67 $ui = $this->manager->GetUI();
68
69 // navigation
70 $this->setElement('navigation', new MNavigationBar(), 'm-container-topmenu');
71 }
72
73 public function generate($element='')
74 {
75 $method = "generate" . $this->layout;
76 $this->manager->trace("Theme generate: " . $method);
77 return $this->$method($element);
78 }
79
80 public function generateDefault($element)
81 {
82 // main menu
83 $menu = new SMainMenu('mioloMainMenu');
84 $this->setElement('top', $menu, 'm-container-top');
85
86 $action = $this->manager->getPage()->action;
87 $formID = $this->manager->getPage()->name;
88 $loadingMessage = _M('Carregando', 'sagu2');
89
90 // bottom
91 $statusBar = new SStatusBar();
92 $this->SetElement('bottom', $statusBar, 'm-container-bottom');
93
94 // menus
95 if ( $this->manager->GetConf('options.mainmenu') == 2 )
96 {
97 $idModule = 'm-container-module';
98 $idMenu = 'm-container-dhtmlmenu';
99 }
100 else if ( $this->manager->GetConf('options.mainmenu') == 3 )
101 {
102 $idModule = 'm-container-module2';
103 $needTable = true;
104 }
105 else
106 {
107 $idMenu = 'm-container-menu';
108 }
109
110 $this->SetElementId('menus', $idMenu);
111
112 // content
113 $idContent = ( ($this->manager->GetConf('options.mainmenu') == 2) || ($this->manager->GetConf('options.mainmenu') == 3) ) ? 'm-container-content-full' : 'm-container-content';
114 $this->SetElementId('content', $idContent);
115
116 $html = <<<HTML
117<script type="text/javascript">
118MIOLO_loadDeps();
119MIOLO_configureHistory("$action");
120dojo.addOnLoad(MIOLO_initHistory);
121</script>
122
123<div id="divSaguMessages" style="display: none;">
124 <div id="divSaguMessagesContent"></div>
125</div>
126
127<div id="m-loading-message-bg" onclick="javascript:hideLoadingDiv()"></div>
128<div id="m-loading-message" onclick="javascript:hideLoadingDiv()">
129<div id="m-loading-message-image">
130<div id="m-loading-message-text">$loadingMessage...</div>
131</div>
132</div>
133
134<div id="{$formID}__scripts" dojoType="dojox.layout.ContentPane" layoutAlign="client" executeScripts="true" cleanContent="true">
135</div>
136<div id="$formID" dojoType="dojox.layout.ContentPane" layoutAlign="client" executeScripts="true" cleanContent="true">
137</div>
138HTML;
139
140 $html .= $this->GenerateElement('top');
141
142 $this->SetElementId('toolbar', 'm-toolbar');
143 $html .= $tb = $this->GenerateElement('toolbar');
144
145 $html .= '<div id="extContent">';
146 $html .= $this->GenerateElement('content') . SDatabase::getDebugTable();
147 $html .= '</div>';
148
149 $html .= '<div id="extBottom" style="visibility: visible; position: fixed; bottom:0; width: 100%">';
150 $html .= $this->GenerateElement('bottom');
151 $html .= '</div>';
152
153 $html .= '
154<script type="text/javascript">
155configureToolbar = function () {
156 var toolbar = dojo.byId("toolBar");
157
158 if ( !toolbar )
159 {
160 toolbar = dojo.byId("toolbar");
161 }
162
163 if ( !toolbar )
164 {
165 dojo.destroy(dojo.byId("m-toolbar"));
166 }
167 else if ( dojo.byId("m_toolBar") )
168 {
169 tb = dojo.byId("m_toolBar");
170 dojo.byId("m-toolbar").innerHTML = tb.innerHTML;
171 tb.innerHTML = "";
172 }
173
174 var buttons = dojo.query(".m-toolbar-button");
175};
176
177dojo.addOnLoad(configureToolbar);
178
179
183function inSite()
184{
185 //Try adicionado porque no Firefox window.parent.location.href retorna uma exess�o
186 var result = true;
187 try
188 {
189 if ( window.parent.location && window.parent.location.href == undefined )
190 {
191 document.body.className = "site";
192 }
193 }
194 catch (e)
195 {
196 if( dojo.isMozilla )
197 {
198 document.body.className = "site";
199 }
200 result = false;
201 }
202}
203
204function hideLoadingDiv()
205{
206 var bg = document.getElementById("m-loading-message-bg");
207 var fg = document.getElementById("m-loading-message");
208
209 if ( bg != null )
210 {
211 bg.style.display = "none";
212 }
213
214 if ( fg != null )
215 {
216 fg.style.display = "none";
217 }
218}
219
220inSite();
221
222</script>
223';
224
225
226 return $this->painter->div(new Div('m-container', $html));
227 }
228
229 public function generateDynamic($element)
230 {
231 $elements[$element . '_content'] = $this->generateContent();
232 if ( $this->hasMenuOptions() )
233 {
234 $elements[$element . '_menu'] = $this->generateMenu();
235 }
236
237 return $elements;
238 }
239
240 public function generateWindow()
241 {
242 $webForm = $this->getWebForm('window.php');
243 $formId = $this->manager->getPage()->getFormId();
244 $elements[$formId] = $webForm->generate();
245 return $elements;
246 }
247
248 public function generateLookup()
249 {
250 // only 'content' element
251 $html = $this->generateElement('content');
252 $div = new MDiv('m-container', $html);
253 $div->addStyle('width', '100%');
254 return $this->painter->generateToString($div);
255 }
256
257 public function generatePopup()
258 {
259 $page = $this->manager->getPage();
260 $this->setElementId('content', 'm-theme-container-contentpopup');
261 $html = $this->generateElement('content');
262 $divContainer = new MDiv('', $html, 'm-container');
263 $divContainer->addStyle('width', '100%');
264 return $this->painter->generateToString($divContainer);
265 }
266
267 public function generatePrint()
268 {
269 $this->generateDefault();
270 }
271
272 public function generateDOMPdf()
273 {
274 // only 'content' element
275 $html = $this->generateElement('content');
276 $div = new MDiv('m-theme-container', $html);
277 $div->addStyle('width', '100%');
278 return $this->painter->generateToString($div);
279 }
280}
281
282?>
setElement($element, $content, $id='', $key=NULL)
Definição mtheme.class:100
$layout
Definição mtheme.class:5
generateElement($element)
Definição mtheme.class:144
setElementId($element, $id)
Definição mtheme.class:105
hasMenuOptions()
Definição mtheme.class:186
static setType($type)
Definição mtoolbar.class:80
const TYPE_ICON_TEXT
Definição mtoolbar.class:40
generateWindow()
Definição theme.class:240
__construct()
Definição theme.class:41
generatePrint()
Definição theme.class:267
init()
Definição theme.class:46
generateDefault($element)
Definição theme.class:80
generateDynamic($element)
Definição theme.class:229
generateDOMPdf()
Definição theme.class:272
generatePopup()
Definição theme.class:257
generate($element='')
Definição theme.class:73
generateLookup()
Definição theme.class:248
$action
Definição base.php:4