ionic UI mini fixed sidebar with icons - user-interface

Please I need to do something like this picture using ionic
I need to have a menu fixed on all over app screens with just icons
any HELP!
for now I am using "ion-split-pane" to create Content 1 and 2 areas
I need to add this blue section beside them
<ion-menu contentId="main-content" type="push">
<ion-content>
<ion-list lines="none">
<ion-menu-toggle autoHide="false" *ngFor="let p of appPages; let i = index">
<ion-item [routerLink]="p.url" routerLinkActive="selected" routerDirection="root"
detail="false">
<ion-icon slot="start" [name]="p.icon + '-outline'"></ion-icon>
<ion-label>
{{p.title}}
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
<ion-list >
<ion-menu-toggle autoHide="false">
<ion-item routerLink="/login" routerLinkActive="active" routerDirection="root" detail="false">
<ion-icon slot="start" name="log-in"></ion-icon>
<ion-label>
Login
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-menu>
<ion-router-outlet id="main-content"></ion-router-outlet>

SOLVED !
I created 3 <ion-content>
1 - one for mini sidebar
2 - one for main sidebar (Content area 1).
3- last one is (content area 2) mian content
then created a custom scss for mini sidebar I gave it a fixed small width

Related

CKeditor4 superscript, subscript

I have CKeditor4.3.1 and have buttons for superscript and subscript
You can see them and they work on edit area, but it doesn't on site's page
Code on a page have this tags
<m:omath>
<m:ssub>
<m:ssubpr>
<m:ctrlpr></m:ctrlpr>
</m:ssubpr>
<m:sub>
<m:r>
<m:rpr>
<m:scr m:val="roman">
<m:sty m:val="b"></m:sty>
</m:scr>
</m:rpr>
<span style="font-size:14px;"><sub>t</sub></span></m:r>
<m:r>
<m:rpr>
<m:scr m:val="roman">
<m:sty m:val="b"></m:sty>
</m:scr>
</m:rpr>
<span style="font-size:14px;"><sub>+</sub></span></m:r>
<m:r>
<m:rpr>
<m:scr m:val="roman">
<m:sty m:val="b"></m:sty>
</m:scr>
</m:rpr>
<span style="font-size:14px;"><sub>1</sub></span></m:r>
</m:sub>
</m:ssub>
</m:omath>
May be I miss some styles or plugins?
Okey, sorry. It was reset.css, who re-styled sup and sub styles. Just removed them from css file and it works now.

Form entry is not required although it is while using ReCaptcha v3 & Laravel 8

I have some trouble working with laravel 8 & ReCaptcha.
I've a form, and inside it I've put a recaptcha v3. I want all my input required but when I press submit, only 2 of them are showing that I need to complete it (see the screen 1 below, sry its in french). When I put something inside the 2 input that tells me "YOU NEED TO WRITE SOMETHING THERE", and I submit then the form is working (even if I did not wite something on the others input which are normally required).
All my input have the required tag. The problem here come from the recaptcha button tag which is :
<button class="g-recaptcha btn" data-sitekey="myrecaptchakey" data-callback='onSubmit' data-action='submit' >
When I remove the class + date-sitekey + data-callback + data-action and adding type=submit its working well (see the screen 2 below).
How can I resolve this using recaptcha please ?
Cordially
Screen 1 :
Screen 2 :
EDIT : So, I've put that just before my button : <div class="g-recaptcha" data-sitekey="mycaptchakey"></div> and then my button should be <button class=" btn " type="submit"> and there is the result : It says that the key is not working

Element not interactable in dropdown. How to get an element?

Help please to get a correct solution of my task.
I have this dropdown (it looks like dropdown) with code:
<div class="jcf-select-drop jcf-select-jcf-hidden jcf-unselectable" style="position: absolute; top: 1331px; width: 376.125px; left: 285.75px;">
<div class="jcf-select-drop-content">
<span class="jcf-list jcf-scroll-active">
<span class="jcf-list-content" style="max-height: 369px; overflow: auto;">
<ul>
<li>
<span class="jcf-option" data-index="0">Afghanistan</span>
</li>
<li>
<span class="jcf-option" data-index="218">USA</span>
</li>
And simple test:
let countryTest = $$("span.jcf-select.jcf-unselectable").first();
let USA = $("body > div.jcf-select-drop.jcf-select-jcf-hidden.jcf- unselectable > div > span > span > ul > li:nth-child(217) > span");
countryTest.click();
USA.click();
I need to select USA, but have an error "Failed: element not interactable". I can get Afghanistan, but not USA.. I tried
browser.actions().mouseMove(USA).click().perform();
but it isn't help.
Can I somehow click on USA-element using data-index? Or what is correct way to choose the element?
And how is there a way to make shorter the element(by.css), because it's too long..
I am assuming that the dropdown contains a full list of countries. As such, USA will not be high on the list (number 218 it looks like). Because your dropdown will only display a limited amount of countries at once, USA is hidden. Most dropdowns allow text to be entered to search for a country. This also limits the matches to all be displayed on the screen. You can then click on USA (although its index may have changed)
Example
let countryTest = $$("span.jcf-select.jcf-unselectable").first();
let USA = $("body > div.jcf-select-drop.jcf-select-jcf-hidden.jcf-unselectable > div > span > span > ul > li:nth-child(217) > span");
//keep in mind USA selector will likely have changed after you do your search
countryTest.click();
countryTest.sendKeys('USA'); //likely will be a different element that you have to send keys to
USA.click();
Try the below one
const countryTest = element(by.cssContainingText('spna.jcf-list-content>ul>li>span', 'USA'));
So countryTest.click() selects USA from the dropDown.
hope it helps you.
Assuming you already solved clicking a parent element that displays the dropdown, have you tried the following?:
If you have just those 2 options:
var USA = element.all(by.css('.jcf-list-content ul li span')).last();
countryTest.click();
USA.click();
If the dropdown has more options (USA being 218?):
var USA = element.all(by.css('.jcf-list-content ul li span')).get(218);
countryTest.click();
USA.click();
You can try with the 'span' at the end, or removing it. I'm not sure which one will work.
Ultimately, try something like this:
var USA = element(by.cssContainingText('li', 'USA'));
countryTest.click();
USA.click();
Hope it helps.

Vue2: Change data inside of v-for loop

I have the following loop which displays images in a gallery:
<a href="#" v-for="(file, index) in files" v-bind:key="file.id" #click="file.selected = !file.selected">
<img :src="file.url" />
<span>{{file.name}}</span>
<i v-show="file.selected" class="fa fa-check-square"></i>
</a>
I would like to be able to select any image by clicking on it.
But nothing happens when I click on the image.
I did it the way I would do it in AngularJs - I modify the item within the loop.
I was expecting that:
- the view (inside of the loop) will be updated
- the change of the item will be taken over into the data array (files)
Ok, that was easy - it did not work the way I wanted, because I did not add a key "selected" to my initial data array.
In AnguarJS this would not matter - the key would just be added, but here the element is not known / watched if it does not exist from the beginning.

angular show image with condition (checkbox)

What I want to do here is that when my checkbox 'chBeamer' is checked the images of the beamers should appear if their beamername is not '/' (/ means that their is no beamer registrated)
checkbox
<input ng-model="chBeamer" type="checkbox" id="chBeamer" name="chBeamer"/>
ng-show
<div ng-show="chBeamer"><img id="beamer" src="../app/img/beamer.png"/></div>
I don't know how to start with this, I tried with a filter and condition (chBeamer !== '/') but this didn't work...
From your post I can't quite understand where beamername is coming from, but you can do:
<div ng-show="chBeamer && beamername !== '/'">...</div>
But I feel like this is part of a bigger picture, e.g. there must be multiple items? What does your underlying model look like?

Resources