Best JavaScript code snippet using storybook-root
emptyparagraph-plugin.js
Source:emptyparagraph-plugin.js
1/*global define: true */2/* emptyparagraph-plugin.js is part of Aloha Editor project http://aloha-editor.org3 *4 * Aloha Editor is a WYSIWYG HTML5 inline editing library and editor. 5 * Copyright (c) 2010-2012 Gentics Software GmbH, Vienna, Austria.6 * Contributors http://aloha-editor.org/contribution.php 7 * 8 * Aloha Editor is free software; you can redistribute it and/or9 * modify it under the terms of the GNU General Public License10 * as published by the Free Software Foundation; either version 211 * of the License, or any later version.12 *13 * Aloha Editor is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.21 * 22 * As an additional permission to the GNU GPL version 2, you may distribute23 * non-source (e.g., minimized or compacted) forms of the Aloha-Editor24 * source code without the copy of the GNU GPL normally required,25 * provided you include this license notice and a URL through which26 * recipients can access the Corresponding Source.27 */28/**29 * @name emptyparagraph30 * @namespace emptyparagraph plugin31 */32define([33 'jquery',34 'aloha/plugin',35 'aloha/core',36 'util/html',37 'util/dom',38 './emptyparagraph',39 'css!emptyparagraph/css/emptyparagraph.css'40], function (41 $,42 Plugin,43 Aloha,44 Html,45 Dom,46 EmptyParagraph47) {48 'use strict';49 /**50 * Name of this plugin51 */52 var pluginName = 'emptyparagraph';53 var DEFAULT_ELEMENTS = ['p'];54 /**55 * Checks if this plugin is activated by name.56 * @param config57 * @returns {boolean}58 */59 function isPluginActivatedByName(config) {60 return $.type(config) === 'array' && $.inArray(pluginName, config) !== -1;61 }62 /**63 * Checks whether or not pluginName is activated for an editable.64 *65 * @param {object} The plugin/editable configuration.66 * @return {boolean} True if activated.67 */68 function isPluginActivated(config) {69 return isPluginActivatedByName(config) || $.type(config) !== 'array';70 }71 /**72 * Highlights empty elements73 * @param plugin74 * @param editable75 */76 function highlightDisallowedElements(plugin, editable) {77 var config = plugin.getEditableConfig(editable.obj);78 var editableElement = editable.obj[0];79 80 if (isPluginActivated(config)) {81 EmptyParagraph.highlightEmptyElements(editableElement, config.emptyelements || DEFAULT_ELEMENTS);82 }83 }84 /**85 * Checks if remove consecutive br's is activated.86 * @param {Object} config87 * @returns {boolean}88 */89 function isRemoveConsecutiveBrActivated(config) {90 switch(typeof config.removebr) {91 case 'undefined':92 return true;93 case 'boolean':94 return config.removebr;95 case 'string':96 return config.removebr.toLowerCase() === 'true';97 default:98 throw new Error('Invalid Empty Paragraph Plugin configuration: config.removebr');99 }100 }101 /**102 * @type {Aloha.Plugin}103 */104 return Plugin.create(pluginName, {105 /**106 * Default config: plugin active for all editables107 */108 config: [pluginName],109 /**110 * Initialize the plugin111 */112 init: function () {113 var plugin = this;114 Aloha.bind('aloha-editable-created', function (event, editable) {115 highlightDisallowedElements(plugin, editable);116 });117 Aloha.bind('aloha-smart-content-changed', function (event, data) {118 highlightDisallowedElements(plugin, data.editable);119 });120 },121 /**122 * @overwrite123 */124 makeClean: function(obj) {125 var config = this.getEditableConfig(obj);126 if (isPluginActivated(config)) {127 var elements = (config.emptyelements) || DEFAULT_ELEMENTS;128 EmptyParagraph.removeEmptyElements(obj[0], elements);129 if (isRemoveConsecutiveBrActivated(config)) {130 EmptyParagraph.removeConsecutiveBr(obj[0]);131 }132 }133 }134 });...
markElements.js
Source:markElements.js
1/**2 * Created by najorcruzcruz on 23/04/14.3 */4Aloha.require([5 'jquery',6 '../plugins/extra/emptyparagraph/lib/emptyparagraph'7], function(8 $,9 EmptyParagraph10) {11 'use strict';12 /**13 * Tests highlighted empty elements.14 * @param {String} input15 * @param {String} expected16 */17 function testHighlightEmptyElements(input, expected) {18 EmptyParagraph.highlightEmptyElements(input, ['p']);19 equal(input.innerHTML, expected.innerHTML);20 }21 /**22 * Tests remove empty elements.23 * @param {String} input24 * @param {String} expected25 */26 function testRemoveEmptyElements(input, expected) {27 EmptyParagraph.removeEmptyElements(input, ['p']);28 EmptyParagraph.removeConsecutiveBr(input);29 equal(input.innerHTML, expected.innerHTML);30 }31 module('Highlight Elements');32 test('Highlight empty paragraphs', function() {33 var input = $('<div>' +34 '<p></p>' +35 '</div>')[0];36 37 var expected = $('<div>' +38 '<p class="' + EmptyParagraph.EMPTY_ELEMENT_CSS_CLASS + '"></p>' +39 '</div>')[0];40 41 testHighlightEmptyElements(input, expected);42 });43 test('Highlight empty paragraphs and Headings', function() {44 var input = $('<div>' +45 '<p></p>' +46 '<h1></h1>' +47 '<h2></h2>' +48 '<h3></h3>' +49 '</div>')[0];50 var expected = $('<div>' +51 '<p class="' + EmptyParagraph.EMPTY_ELEMENT_CSS_CLASS + '"></p>' +52 '<h1 class="' + EmptyParagraph.EMPTY_ELEMENT_CSS_CLASS + '"></h1>' +53 '<h2 class="' + EmptyParagraph.EMPTY_ELEMENT_CSS_CLASS + '"></h2>' +54 '<h3></h3>' +55 '</div>')[0];56 EmptyParagraph.highlightEmptyElements(input, ['p', 'h1', 'h2']);57 equal(input.innerHTML, expected.innerHTML);58 });59 60 module('Remove Elements');61 62 test('remove empty paragraphs', function() {63 var input = $('<div>' +64 '<p class="' + EmptyParagraph.EMPTY_ELEMENT_CSS_CLASS + '"></p>' +65 '</div>')[0];66 67 var expected = $('<div>' +68 '</div>')[0];69 70 testRemoveEmptyElements(input, expected);71 });72 73 test('remove sequential br\'s', function() {74 var input = $('<div>' +75 '<p>start<br/><br/><br/><br/><br/>end</p>' +76 '<p><br>things</p>' +77 '</div>')[0];78 79 var expected = $('<div>' +80 '<p>start<br/>end</p>' +81 '<p>things</p>' +82 '</div>')[0];83 84 testRemoveEmptyElements(input, expected);85 });86 ...
placeholder.js
Source:placeholder.js
1import {Plugin} from 'prosemirror-state';2import {Decoration, DecorationSet} from 'prosemirror-view';3export function placeholderPlugin(vueInstance, paragraphPlaceholder) {4 return new Plugin({5 props: {6 decorations: (state) => {7 const decorations = [];8 let isThereParagraphWithContent = false;9 let emptyParagraph = null;10 if (vueInstance.canUserUpdateDocument) {11 const decorate = (node, pos) => {12 if (node.type.isBlock && node.childCount === 0) {13 if (node.type.name === 'paragraph') {14 // Only store empty paragraphs if there's no paragraph with children.15 if (isThereParagraphWithContent) {16 return;17 }18 if (!emptyParagraph) {19 emptyParagraph = {node, pos};20 }21 }22 if (node.type.name === 'title') {23 // As the title nodeType is unique, we can add the decoration right away.24 decorations.push(Decoration.node(pos, pos + node.nodeSize, {25 'data-text': vueInstance.$gettext("choose-title"),26 class: 'empty-node',27 }));28 }29 }30 else if (node.type.name === 'paragraph') {31 isThereParagraphWithContent = true;32 }33 };34 state.doc.descendants(decorate);35 if (emptyParagraph && !isThereParagraphWithContent) {36 decorations.push(Decoration.node(emptyParagraph.pos, emptyParagraph.pos + emptyParagraph.node.nodeSize, {37 'data-text': paragraphPlaceholder || vueInstance.$gettext("add-content"),38 class: 'empty-node',39 }));40 }41 }42 return DecorationSet.create(state.doc, decorations);43 },44 },45 });...
Using AI Code Generation
1const { EmptyParagraph } = require("storybook-root");2const { EmptyParagraph } = require("storybook-root");3const { EmptyParagraph } = require("storybook-root");4const { EmptyParagraph } = require("storybook-root");5const { EmptyParagraph } = require("storybook-root");6const { EmptyParagraph } = require("storybook-root");7const { EmptyParagraph } = require("storybook-root");
Using AI Code Generation
1const { EmptyParagraph } = require('storybook-root');2const { EmptyParagraph } = require('storybook-root');3const { EmptyParagraph } = require('storybook-root');4const { EmptyParagraph } = require('storybook-root');5EmptyParagraph();6- Github: [@bhaskarkandula](
Using AI Code Generation
1import { EmptyParagraph } from 'storybook-root';2import { EmptyParagraph } from 'storybook-root';3import { EmptyParagraph } from 'storybook-root';4import { EmptyParagraph } from 'storybook-root';5import { EmptyParagraph } from 'storybook-root';6import { EmptyParagraph } from 'storybook-root';7import { EmptyParagraph } from 'storybook-root';8import { EmptyParagraph } from 'storybook-root';9import { EmptyParagraph } from 'storybook-root';10import { EmptyParagraph } from 'storybook-root';11import { EmptyParagraph } from 'storybook-root';12import { EmptyParagraph } from 'storybook-root';13import { EmptyParagraph } from 'storybook-root';14import { EmptyParagraph } from 'storybook-root';15import { EmptyParagraph } from 'storybook-root';16import { EmptyParagraph } from 'storybook-root';17import { EmptyParagraph } from 'storybook-root';18import { EmptyParagraph } from 'storybook-root';19import { EmptyParagraph } from 'storybook-root';20import { EmptyParagraph } from 'storybook-root';
Using AI Code Generation
1import React from 'react';2import { EmptyParagraph } from 'storybook-root';3const Test = () => {4 return <EmptyParagraph />;5};6export default Test;7import Test from './test';8export { Test };9export { Test } from './test';10export { default as Test } from './test';11import Test from './test';
Using AI Code Generation
1import { EmptyParagraph } from 'storybook-root'2export default function Test() {3 return (4}5import React from 'react'6export const EmptyParagraph = () => <p></p>7export { EmptyParagraph } from './EmptyParagraph'8{9 "dependencies": {10 }11}12{13 "dependencies": {14 }15}16module.exports = {17 webpackFinal: async config => {18 config.resolve.alias = {19 'storybook-root': path.resolve(__dirname, '../'),20 }21 },22};23import { withNextRouter } from 'storybook-addon-next-router';24import { addDecorator } from '@storybook/react';25addDecorator(withNextRouter());26const path = require('path');27const withTM = require('next-transpile-modules')(['storybook-root']);28module.exports = withTM({29 webpack(config, options) {30 config.resolve.alias = {31 'storybook-root': path.resolve(__dirname, '../'),32 }33 return config;34 }35});36{37 "compilerOptions": {
Using AI Code Generation
1import { EmptyParagraph } from 'storybook-root';2const EmptyParagraph = () => {3 return <div>EmptyParagraph</div>;4};5export default EmptyParagraph;6![storybook](./docs/storybook.png)7![storybook-docs](./docs/storybook-docs.png)8![storybook-docs-addon](./docs/storybook-docs-addon.png)9![storybook-docs-addon-mdx](./docs/storybook-docs-addon-mdx.png)10![storybook-docs-addon-mdx-props](./docs/storybook-docs-addon-mdx-props.png)11![storybook-docs-addon-mdx-props-args](./docs/storybook-docs-addon-mdx-props-args.png)12![storybook-docs-addon-mdx-props-args-controls](./docs/storybook-docs-addon-mdx-props-args-controls.png)13![storybook-docs-addon-mdx-props-args-controls-canvas](./docs/storybook-docs-addon-mdx-props-args-controls-canvas.png)14![storybook-docs-addon-mdx-props-args-controls-canvas-source](./docs/storybook-docs-addon-mdx-props-args-controls-canvas-source.png)15![storybook-docs-addon-mdx-props-args-controls-canvas-source-preview](./docs/storybook-docs-addon-mdx-props-args-controls-canvas-source-preview.png)16![storybook-docs-addon-mdx-props-args-controls-canvas-source-preview-accessibility](./docs/storybook-docs-addon-mdx
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!