render()

in hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx [577:667]


      render(_: never, records: any, index: number) {
        if (index === propertyEditIndex) {
          const originalName = edgeTypeStore.checkedReusableData!
            .propertykey_conflicts[index].entity.name;
          const changedName = edgeTypeStore.editedCheckedReusableData!
            .propertykey_conflicts[index].entity.name;
          const isChanged = changedName !== originalName;

          return (
            <div>
              <span
                className="metadata-properties-manipulation"
                style={{
                  marginRight: 16,
                  color: isChanged ? '#2b65ff' : '#999'
                }}
                onClick={() => {
                  if (
                    !isChanged ||
                    !edgeTypeStore.validateReuseData(
                      'property',
                      originalName,
                      changedName
                    )
                  ) {
                    return;
                  }

                  edgeTypeStore.mutateReuseData(
                    'property',
                    originalName,
                    changedName
                  );
                  setPropertyEditIndex(null);
                  edgeTypeStore.mutateReusablePropertyNameChangeIndexes(index);
                }}
              >
                {t('addition.common.save')}
              </span>
              <span
                className="metadata-properties-manipulation"
                onClick={() => {
                  edgeTypeStore.resetValidateReuseErrorMessage('property');
                  setPropertyEditIndex(null);
                  edgeTypeStore.resetEditedReusablePropertyName(index);
                }}
              >
                {t('addition.common.cancel')}
              </span>
            </div>
          );
        }

        return (
          <div>
            <span
              className="metadata-properties-manipulation"
              style={{
                marginRight: 16,
                color: propertyEditIndex === null ? '#2b65ff' : '#999'
              }}
              onClick={() => {
                if (propertyEditIndex !== null) {
                  return;
                }

                setPropertyEditIndex(index);
              }}
            >
              {t('addition.operate.rename')}
            </span>
            <span
              className="metadata-properties-manipulation"
              style={{
                color: propertyEditIndex === null ? '#2b65ff' : '#999'
              }}
              onClick={async () => {
                if (propertyEditIndex !== null) {
                  return;
                }

                setPropertyEditIndex(null);

                edgeTypeStore.deleteReuseData('propertykey_conflicts', index);
              }}
            >
              {t('addition.common.del')}
            </span>
          </div>
        );
      }