Disable "Phone number" field in CKEditor - dotnetnuke

I use CKEditor for DNN version 4.11.4 with the "CKHtmlEditorProvider".
How to disable the "Phone number" field in the Link-Button in the CKEditor?
See the screenshot:
CKEditor Phone number
It is makeable by CSS, but i search for the solution through the config.js, something like
if ( dialogName === 'link' ) {
dialogDefinition.removeContents( 'tel' );
}

What CKeditor are you using? I use DNNConnect.CKE and that has no link to phone either.
If you go to http://yoursite.com/Host/HTMLEditorManager I can verify that in the editor config tab and search for linktype.

The "Phone number" field was only a mistake in the programm.
The dnnckeditor plugin owner has corrected it now:
https://github.com/w8tcha/dnnckeditor/issues/60

Related

How do I get the input value of a MUI TextField with cypress?

I am using cypress to test that a textfield displays the entered text correctly.
cy.get('.creation-name').should('not.have.text');
const testName = 'Test name';
cy.get('.creation-name').type(`${testName}`);
TextField is a MUI component and this is a React project.
<div className="create-name">
<TextField
id="Name"
label="Create name"
onChange={(event) => setName(event.target.value)}
/>
</div>
I can see from the video that the text types in fine, but when I try to check that it's there it fails. I have tried multiple different lines to get the test text value, including these:
//got AssertionError for all of these
cy.get('.creation-name').invoke('val').should('equal', 'Test name');//expected '' to equal Test name
cy.contains(`${testName}`).should('have.text', `${testName}`);//expected '' to equal Test name
cy.get('[id="Name"]').should('have.text', `${testName}`);//expected '' to equal Test name
cy.get('.creation-name').invoke('text').should('equal', 'Test');//expected Create name to equal Test name
cy.get('.creation-name').should('have.text', `${testName}`);//expected Create name to equal Test name
Seems I am not getting anything or I am targeting the label. This is my first time using cypress so I hope I didn't miss anything obvious.
Try taking the value from the child <input>.
cy.get('.creation-name') // or .create-name, maybe a typo in the question
.find('input')
.invoke('val')
.should('equal', 'Test name')
The contains() and text related commands won't work because it's an input, which hold the value internally.
Text commands only work for element that have the text between tags like <div>Test text</div>.
Have you tried this ?
cy.get('input[id="Name"]').invoke('val').then(value => assert.equal(value, testName));

Setting already fetched Account Name/Login Name to Pnp Js Peoplepicker

I am creating an edit form in spfx(with react js as a framework) where I will fetch data for particular list item using pnp js. I already fetched data from person type field say 'Sender'.Now I want to show the fetched user in peoplepicker control.
The below control is used in my code. Value for 'defaultSelectedUsers' is set statically to check whether once this control is loaded, the loginName mentioned there will pre-populate the user or not. But this attribute is not working.
Can anyone suggest how can I pre-populate this peoplepicker control?
<PeoplePicker
context={this.props.context}
titleText="Sender"
personSelectionLimit={1}
groupName={"some group here"}
showtooltip={true}
isRequired={true}
disabled={false}
defaultSelectedUsers=
{['i:0#.f|membership|abcUser#xyz23.onmicrosoft.com']}
selectedItems={this._getItems}
showHiddenInUI={false}
principalTypes={[PrincipalType.User]}
resolveDelay={200}
ensureUser={true}
/>
Expected Behaviour: As soon as page is loaded I want the user with login Name i:0#.f|membership|abcUser#xyz23.onmicrosoft.com pre-populated in peoplepicker control.
I was doing R&D on this issue from 2-3 days almost.But couldn't find anything. Today I just tried a simple thing. I put email of user instead of loginName and this thing worked.
<PeoplePicker
context={this.props.context}
titleText="Sender"
personSelectionLimit={1}
groupName={"some group here"}
showtooltip={true}
isRequired={true}
disabled={false}
**defaultSelectedUsers=
{['abcUser#xyz23.onmicrosoft.com']}**
selectedItems={this._getItems}
showHiddenInUI={false}
principalTypes={[PrincipalType.User]}
resolveDelay={200}
ensureUser={true}
/>
In my case adding ensureUser= {true} resolved the issue as follows
<PeoplePicker
context={this.props.context}
titleText="Multi People Picker for user name"
personSelectionLimit={5}
groupName={""}
showtooltip={true}
required={false}
disabled={false}
ensureUser= {true}
onChange={this._getPeoplePickerItemsUsername}
showHiddenInUI={false}
principalTypes={[PrincipalType.User]}
resolveDelay={1000} />

CKEditor text fields in FileManager dialog contents area not working (alternative text, width, height,...)

I am using ckeditor4-react package in my react app. When I want to add image to text, file browser is opening, I select the image or upload the image but I cannot change the size of the image or add alternate text. Because text fields are disabled.
let c = {
filebrowserBrowseUrl: 'http://localhost:3002/admin/photopicker',
filebrowserUploadUrl: `https://api.cloudinary.com/v1_1/${config.cloud_name}/upload`
};
<CKEditor
config={c}
ref="editor"
data={this.props.data}
onChange={this.props.onEditorChange}
onFileUploadRequest={this.onFileUploadRequest}
onFileUploadResponse={this.onFileUploadResponse}
onDialogShow={this.onDialogShow} />
I expect to edit size like in the demo: https://ckeditor.com/docs/ckeditor4/latest/examples/image.html
Alternative Text, width, height, border, HSpace and VSpace fields are not editable
It seems to me that your ckeditor react package has been installed with the
config.readOnly
property set to true.
Try including this under your CKEditor tag:
readOnly={false}
or, changing the package configuration.
See: CKEditor readOnly config property for more info on that.

Selenium IDE cannot find ID

I recorded a test with Selenium IDE but when I try to run the test I get an error [error] Element id=jsonform-0-elt-businessActor not found
I also noticed this particular field's id is slightly different.. The rest of the fields have this format id=jsonform-0-elt-0.nameOfJsonAttribute
Could there be any reason why the bussinessActor ID is not working and captured differently?
JsonSchema used to render the form:
{
"type":"object",
"id": "001",
"title": "testSchema",
"properties":{
"businessActor": {
"type":"string",
"title": "Name",
"description": "example of a description."
}
}
}
Note: Am using jsonForm to render the form based on json shema. Form id's are generated dynamically by jsonFom. And am also using Angular.js (angular is not playing a role in this aprticular issue, I think)
As #MarkRowlands suggested, it sounds like your page is dynamic.
Try this out as your target...
css=[id^='jsonform'][id$='businessActor']
^= means 'starts with' in css. $= means 'ends with' in css.
Change that selector to match whatever you would like to select.

Custom validations in ExtJS

Iam using Ext3.3
In my application iam design email field in composite field,So when set vtype:email,its not shows error icon ,its shows only redline in txtfield
And also how to write custom validations in ExtJS like Phone numbers and numaric values
Please help me
when iam using
Ext.apply(Ext.form.VTypes, {
phone: function (value, field) {
debugger;
return value.replace(/[ \-\(\)]/g, '').length == 10;
},
phoneText: 'Wrong phone number, please make sure it contains 10 digits',
phoneMask: /[ \d\-\(\)]/
});
its shows an error object does not support this property
Thanks in advance
use msgTarget : 'side' for the field to see the error icon.
See here for a list of vtypes : http://www.sencha.com/forum/showthread.php?4271-More-VTypes!

Resources