Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 1x 1x 1x 1x 12x 12x 12x 12x 12x 12x 12x 2x 1x 1x 1x 1x 12x 2x 1x 1x 1x 1x 1x 10x 10x 10x 12x 1x 1x 12x 12x 1x 1x 12x 9x 9x 12x | import { INSVElement } from '../nodes' import { isBoolean, isAndroidKey, isIOSKey } from '@nativescript-vue/runtime' import { isAndroid, isIOS } from '@nativescript/core' export function patchAttr( el: INSVElement, key: string, prevValue: any, nextValue: any ) { if (isAndroidKey(key)) { if (!isAndroid) { // if we encounter an android key, and we are not on android we can safely ignore it return } key = key.substr(8) } else if (isIOSKey(key)) { if (!isIOS) { // if we encounter an ios key, and we are not on ios we can safely ignore it return } key = key.substr(4) } // detect expandable attrs for boolean values // see https://vuejs.org/v2/guide/components-props.html#Passing-a-Boolean if (isBoolean(el.getAttribute(key)) && nextValue === '') { nextValue = true } if (nextValue === null) { // if the nextValue is null, we are removing the attribute el.removeAttribute(key) } else { el.setAttribute(key, nextValue) } } |