3.1.30 • Published 8 months ago

txtcore v3.1.30

Weekly downloads
3
License
MIT
Repository
-
Last release
8 months ago

!TxTCore logo

!TxtCore es un framework para la facil lectura y escritura de información hacia Dynamics CRM 365 Online, mediante la manipulación de etiquetas HTML en los diferentes atributos a utilizar. Este Framework ahorra desde un 80% a un 85% de tiempo en el creado de formularios.

Dependencias

  1. Core base de StockCloud en laravel
  2. AlexaCRM
  3. Vue

Instalación

npm i txtcore

Preparación

Dentro del componente de Vue y dentro del template, debe colocarse el siguiente form con los siguientes atributos:

<form id="contentform" 
	ref="form"
	v-on:keydown.enter.prevent="handleChange"
	@submit.prevent="send"
	@change="handleChange"
	@invalid.capture.prevent="handleInvalid">
	[CONTENIDO]
</form>

Todos estos atributos son para poder validar correctamente que los campos requeridos tengan informacion. El campo que sirve de identificador para procesar la data es id="contentform". Este campo es requerido para el correcto funcionamiento de !TxTCore.

Dentro del instanciamiento del componente, dentro del metodo data, deben colocarse las siguientes variables, como se muestra a continuación

data() {
    return {
        fieldErrors: {},
        form_data: {},
        form_optionsets: {},
        form_entityreference: {},
        form_boolean: {},
        form_radio: {}
    }
}

La primer valiables es para procesar las validaciones de los campos requeridos. Las demas variables son para guardar la información proveniente de !TxTCore.

Los siguientes métodos deben estan colocados dentro de la sección methods en el componente de Vue

  1. send
  2. getfromcrm
  3. posttocrm
  4. handleSignup
  5. handleChange
  6. handleInvalid
  7. errorClass
  8. showConsole

Estos métodos pueden ser encontrados en el componente DashboardComponent.vue.

Elementos HTML soportados

  1. Input de tipo texto
  2. Select de tipo optionset
  3. Select de tipo entity reference
  4. Select de tipo boolean
  5. Input de tipo fecha
  6. textarea
  7. checkbox
  8. Radio button

Atributos requeridos

Todo elemento HTML debe tener los siguientes atributos

  • type="select" - Indica el tipo de campo a procesar.
  • class="form-control form-control-lg" - Este atributo es para colocar el estilo deseado.
  • entity="lead" 3. Indica a que entidad leera y sera posteada la información.
  • name="firstname" 4. Indica a que campo de CRM se posteara la información.
  • id="firstname" 5. campo unico para identificar el campo a nivel de html y css.
  • v-model="form_data.firstname" - Indica a donde Vue guardara y leera información del campo.
  • :class="errorClass('firstname')" - Campo requerido para mostrar la validación HTML de un campo.
  • required - Atributo para indicar si un campo es requerido o no.
  • :disabled="this.$store.state.loading" - Atributo para desabilitar el campo mientras se procesa su información

Atributos especiales

  • fieldtype="entityreference" - Indica el tipo de campo a procesar cuando el elemento ya ocupa el atributo type, este atributo aplica para los elementos de tipo: - Entity reference - Boolean - Input de tipo fecha personalizado (no html convencional) - Optionset
  • from-entity="new_pais" - Indica de que entidad será traida la información, sirve tambien para hacer la relación al momento de postear la data a CRM. - El elemento entity referente tambien requiere los siguientes elementos: - entity-filter="new_name" - entity-atribute="new_pais" - entity-id="new_paisid" - entity-name="new_name" - entity-first="República Dominicana" - Este ultimo campo es opcional y sirve para colocar una opción de primero
  • ignore - Este atributo se puede usar para ignorar un elemento en el procesamiento, tanto para enviar como para recibir información.

Ejemplos de tipos de campos

Ejemplo: Input de tipo texto

<input type="text"
	class="form-control form-control-lg"
	entity="lead"
	name="firstname"
	id="firstname"
	v-model="form_data.firstname"
	:class="errorClass('firstname')"
	required
	:disabled="this.$store.state.loading"
	:placeholder="this.$store.state.loading ? 'Cargando ...' : ''"
>

Ejemplo: Select de tipo optionset

<select type="select"
	fieldtype="optionset"
	class="form-control form-control-lg"
	entity="lead"
	name="new_suma_nivelacademico"
	id="new_suma_nivelacademico"
	v-model="form_data.new_suma_nivelacademico"
	:class="errorClass('new_suma_nivelacademico')"
	required
	:disabled="this.$store.state.loading"
	:placeholder="this.$store.state.loading ? 'Cargando ...' : ''"
	>
		<option value="" hidden>{{this.$store.state.loading ? 'Cargando...' : 'Selecciona una opción'}}</option>
		<option v-for="(value, index) in form_optionsets.new_suma_nivelacademico" :key="index" :value="value.split(',')[0]">{{value.split(',')[1]}}</option>
</select>

Ejemplo: Select de tipo entity reference

<select type="select"
    fieldtype="entityreference"
    from-entity="new_pais"
    entity-filter="new_name"
    entity-atribute="new_pais"
    entity-id="new_paisid"
    entity-name="new_name"
    entity-first="República Dominicana"
    class="form-control form-control-lg"
    entity="lead"
    name="new_pasderesidencia"
    id="new_pasderesidencia"
    v-model="form_data.new_pasderesidencia"
    :class="errorClass('new_pasderesidencia')"
    required
    :disabled="this.$store.state.loading"
    :placeholder="this.$store.state.loading ? 'Cargando ...' : ''"
>
    <option value="" hidden>{{this.$store.state.loading ? 'Cargando...' : 'Selecciona una opción'}}</option>
    <option v-for="(value, index) in form_entityreference.new_pasderesidencia" :key="index" :value="value.split(',')[0]">{{value.split(',')[1]}}</option>
</select>

Ejemplo: Select de tipo boolean

<select type="select"
    fieldtype="boolean"
    class="form-control form-control-lg"
    entity="lead"
    name="new_ciudadanooresidenteeeuu"
    id="new_ciudadanooresidenteeeuu"
    v-model="form_data.new_ciudadanooresidenteeeuu"
    :class="errorClass('new_ciudadanooresidenteeeuu')"
    required
    :disabled="this.$store.state.loading"
    :placeholder="this.$store.state.loading ? 'Cargando ...' : ''"
>
    <option value="" hidden>{{this.$store.state.loading ? 'Cargando...' : 'Selecciona una opción'}}</option>
    <option v-for="(value, index) in form_boolean.new_ciudadanooresidenteeeuu" :key="index" :value="value.split(',')[0]">{{value.split(',')[1]}}</option>
</select>

Ejemplo: Input de tipo fecha custom

Para poder utilizar el elementos custom de fecha debe incluirse al inicio de la etiqueta script lo siguiente:

import  DatePicker  from  'vue2-datepicker';
import  'vue2-datepicker/index.css';
import  'vue2-datepicker/locale/es';

Ejemplo:

<date-picker :clearable="false" 
    input-class="form-control form-control-lg"
    value-type="YYYY-MM-DD" 
    format="DD/MM/YYYY" 
    :class="errorClass('new_fechadenacimiento')" 
    :placeholder="this.$store.state.loading ? 'Cargando...' : '__/__/__'" 
    v-model="form_data.new_fechadenacimiento" 
    :disabled="this.$store.state.loading" 
    :input-attr="{
        required: true, 
        name: 'new_fechadenacimiento', 
        id :'new_fechadenacimiento', 
        fieldtype:'date',
        entity:'lead'
    }"
></date-picker>

Ejemplo: Input de tipo fecha html5

<input type="date" 
    class="form-control form-control-lg"
    id="new_fechaexpiracioncedula"
    entity="lead"
    name="new_fechaexpiracioncedula" 
    :class="errorClass('new_fechaexpiracioncedula')" 
    :placeholder="this.$store.state.loading ? 'Cargando...' : '__/__/__'" 
    v-model="form_data.new_fechaexpiracioncedula" 
    :disabled="this.$store.state.loading" 
    required
>

Ejemplo: textarea

<textarea type="textarea"
    class="form-control"
    entity="lead"
    name="new_informe_perfil_inversionista" 
    id="new_informe_perfil_inversionista"
    v-model="form_data.new_informe_perfil_inversionista"
    rows="5"
    :disabled="this.$store.state.loading" 
    required
></textarea>

Ejemplo: checkbox

<label class="btn btn-block btn-secondary r-3 text-left">
    <input type="checkbox"
        entity="lead"
        id="new_odata_seguridad" 
        name="new_odata_seguridad" 
        :class="errorClass('new_odata_seguridad')" 
        v-model="form_data.new_odata_seguridad" 
        :disabled="this.$store.state.loading"
    >Cuotas de Fondos de Inversión
</label>

Ejemplo: Input de tipo texto con atributo ignore

<input type="text" ignore
    class="form-control form-control-lg"
    entity="lead"
    name="telephone2"
    id="telephone2"
    v-model="form_data.telephone2"
    :class="errorClass('telephone2')"
    
    :disabled="this.$store.state.loading"
    :placeholder="this.$store.state.loading ? 'Cargando ...' : ''"
>

Ejemplo: Radio button

<div class="form-group">
    <label class="btn btn-block btn-secondary r-3 text-left">
        <input type="radio"
            entity="lead"
            id="new_odata_rentabilidad"
            name="objetivos_inversion"
            :class="errorClass('objetivos_inversion')"
            :disabled="this.$store.state.loading"
            v-model="form_radio.new_odata_rentabilidad"
            value="new_odata_rentabilidad"
        >
        <strong>Rentabilidad</strong>: Persigo el mayor rendimiento posible asumiendo los riesgos que sean necesarios.
    </label>
</div>
<div class="form-group">
    <label class="btn btn-block btn-secondary r-3 text-left">
        <input type="radio"
            entity="lead"
            id="new_odata_apreciaciondecapital"
            name="objetivos_inversion"
            :class="errorClass('objetivos_inversion')"
            :disabled="this.$store.state.loading"
            v-model="form_radio.new_odata_apreciaciondecapital"
            value="new_odata_apreciaciondecapital"
        >
        <strong>Apreciación de Capital</strong>: Persigo obtener aumentar mis ganancias asumiendo riesgos moderados.
    </label>
</div>

\^.^ ... fin

3.0.89

11 months ago

3.0.87

11 months ago

3.0.88

11 months ago

3.0.81

11 months ago

3.0.82

11 months ago

3.0.80

11 months ago

3.0.85

11 months ago

3.0.86

11 months ago

3.0.83

11 months ago

3.0.84

11 months ago

3.0.98

11 months ago

3.0.99

11 months ago

3.0.190

10 months ago

3.0.92

11 months ago

3.0.93

11 months ago

3.0.90

11 months ago

3.0.91

11 months ago

3.0.96

11 months ago

3.0.97

11 months ago

3.0.94

11 months ago

3.0.95

11 months ago

3.0.67

11 months ago

3.0.68

11 months ago

3.0.65

11 months ago

3.0.66

11 months ago

3.0.69

11 months ago

3.0.60

11 months ago

3.1.30

8 months ago

3.0.63

11 months ago

3.0.64

11 months ago

3.0.61

11 months ago

3.0.62

11 months ago

3.0.189

10 months ago

3.0.188

10 months ago

3.0.181

10 months ago

3.0.180

10 months ago

3.0.183

10 months ago

3.0.182

10 months ago

3.0.185

10 months ago

3.0.184

10 months ago

3.0.187

10 months ago

3.0.186

10 months ago

3.1.3

10 months ago

3.0.78

11 months ago

3.1.2

10 months ago

3.0.79

11 months ago

3.1.1

10 months ago

3.0.76

11 months ago

3.1.7

10 months ago

3.1.6

10 months ago

3.1.5

10 months ago

3.1.4

10 months ago

3.0.70

11 months ago

3.0.71

11 months ago

3.0.74

11 months ago

3.0.75

11 months ago

3.0.72

11 months ago

3.0.73

11 months ago

3.0.178

10 months ago

3.0.177

10 months ago

3.0.179

10 months ago

3.0.170

10 months ago

3.0.172

10 months ago

3.0.171

10 months ago

3.0.174

10 months ago

3.0.173

10 months ago

3.0.175

10 months ago

3.0.167

11 months ago

3.0.166

11 months ago

3.0.169

10 months ago

3.0.168

10 months ago

3.1.9

10 months ago

3.0.161

11 months ago

3.1.8

10 months ago

3.0.160

11 months ago

3.0.163

11 months ago

3.0.162

11 months ago

3.0.165

11 months ago

3.0.164

11 months ago

3.0.4

11 months ago

3.0.3

11 months ago

3.0.8

11 months ago

3.0.7

11 months ago

3.0.6

11 months ago

3.0.5

11 months ago

3.0.156

11 months ago

3.0.155

11 months ago

3.0.158

11 months ago

3.0.157

11 months ago

3.0.159

11 months ago

3.0.150

11 months ago

3.0.152

11 months ago

3.0.151

11 months ago

3.0.154

11 months ago

3.0.153

11 months ago

3.0.145

11 months ago

3.0.144

11 months ago

3.0.147

11 months ago

3.0.146

11 months ago

3.0.149

11 months ago

3.0.148

11 months ago

3.0.9

11 months ago

3.0.141

11 months ago

3.0.140

11 months ago

3.0.143

11 months ago

3.0.142

11 months ago

3.0.134

11 months ago

3.0.133

11 months ago

3.0.136

11 months ago

3.0.135

11 months ago

3.0.138

11 months ago

3.0.137

11 months ago

3.0.139

11 months ago

3.0.130

11 months ago

3.0.132

11 months ago

3.0.131

11 months ago

3.0.119

11 months ago

3.0.123

11 months ago

3.0.122

11 months ago

3.0.125

11 months ago

3.0.124

11 months ago

3.0.127

11 months ago

3.0.126

11 months ago

3.0.129

11 months ago

3.0.128

11 months ago

3.0.121

11 months ago

3.0.120

11 months ago

3.0.12

11 months ago

3.0.13

11 months ago

3.0.10

11 months ago

3.0.11

11 months ago

3.0.16

11 months ago

3.0.17

11 months ago

3.0.14

11 months ago

3.0.15

11 months ago

3.0.109

11 months ago

3.0.108

11 months ago

3.0.112

11 months ago

3.0.111

11 months ago

3.0.114

11 months ago

3.0.113

11 months ago

3.0.116

11 months ago

3.0.115

11 months ago

3.0.118

11 months ago

3.0.117

11 months ago

3.0.110

11 months ago

3.0.101

11 months ago

3.0.100

11 months ago

3.0.103

11 months ago

3.0.102

11 months ago

3.0.105

11 months ago

3.0.104

11 months ago

3.0.107

11 months ago

3.0.106

11 months ago

3.1.12

10 months ago

3.0.45

11 months ago

3.1.11

10 months ago

3.0.46

11 months ago

3.1.14

10 months ago

3.0.43

11 months ago

3.1.13

10 months ago

3.0.44

11 months ago

3.1.16

10 months ago

3.0.49

11 months ago

3.1.15

10 months ago

3.1.18

9 months ago

3.0.47

11 months ago

3.1.17

10 months ago

3.0.48

11 months ago

3.0.41

11 months ago

3.0.42

11 months ago

3.1.10

10 months ago

3.0.40

11 months ago

3.1.23

9 months ago

3.0.56

11 months ago

3.1.22

9 months ago

3.0.57

11 months ago

3.1.25

9 months ago

3.0.54

11 months ago

3.1.24

9 months ago

3.0.55

11 months ago

3.1.27

9 months ago

3.1.26

9 months ago

3.1.29

9 months ago

3.0.58

11 months ago

3.1.28

9 months ago

3.0.59

11 months ago

3.0.52

11 months ago

3.0.53

11 months ago

3.1.21

9 months ago

3.0.50

11 months ago

3.1.20

9 months ago

3.0.51

11 months ago

3.1.19

9 months ago

3.0.23

11 months ago

3.0.24

11 months ago

3.0.21

11 months ago

3.0.22

11 months ago

3.0.27

11 months ago

3.0.28

11 months ago

3.0.20

11 months ago

3.0.18

11 months ago

3.0.19

11 months ago

3.0.34

11 months ago

3.0.35

11 months ago

3.0.32

11 months ago

3.0.33

11 months ago

3.0.38

11 months ago

3.0.39

11 months ago

3.0.36

11 months ago

3.0.37

11 months ago

3.0.31

11 months ago

3.0.29

11 months ago

1.0.0

4 years ago